AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi "Invalid pointer operation" - Stack
Thema durchsuchen
Ansicht
Themen-Optionen

"Invalid pointer operation" - Stack

Ein Thema von nahkillo94 · begonnen am 26. Jan 2012 · letzter Beitrag vom 28. Jan 2012
 
nahkillo94

Registriert seit: 1. Sep 2010
10 Beiträge
 
#1

"Invalid pointer operation" - Stack

  Alt 26. Jan 2012, 22:12
Hallo,

ich bin dabei ein eigenen Stack zu erstellen, habe allerdings Probleme mit pointern.

Beim kompilieren gibt es keinen Fehler, doch wenn ich das Programm ausführe und etwas auf den stack legen will kommt "Invalid pointer operation".

Delphi-Quellcode:
type
  PStackItem = ^TStackItem;
  TStackItem = record
    data: integer;
    next: PStackItem;
  end;

  TStack = class
    private
    public
      first : PStackItem;
      constructor create();
      procedure push(data : integer);
      function pop() : integer;
      function peek() : integer;
    end;

constructor TStack.create();
begin
  inherited;
  first := nil;
end;

procedure TStack.push(data : integer);
var
  node : PStackItem;
begin
  node^.data := data;
  node^.next := first;
  first := node;
end;

function TStack.pop() : integer;
var
  content : integer;
  old : PStackItem;
begin
  content := 0;
  if (first <> nil) then
  begin
    old := first;
    first := first^.next;
    content := old^.data;
    old := nil;
  end;
  result := content;
end;
Der Fehler wird in push() durch
Code:
node^.next := first;
verursacht. Ich vermute es fehlt irgendwo ein Dach, oder?

Geändert von nahkillo94 (26. Jan 2012 um 22:16 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz