Einzelnen Beitrag anzeigen

JnZn558

Registriert seit: 22. Aug 2004
98 Beiträge
 
#16

Re: template verkettete liste

  Alt 7. Mär 2010, 13:49
ein tippfehler war mir unterlaufen, ich hab es nun geaendert.

Delphi-Quellcode:
PList = ^vList;
  vList = record
    nCount : Cardinal; // number of datas
    pItem : Pointer; // data pointer
    pNextItem : PList; // next item
    pLastItem : PList; // previous item
  end;

  vArray = class
    m_list : vList;

  public
    constructor Create(pValue: Pointer);
    destructor Destroy; override;
  end;

  constructor ZArray.Create(pValue: Pointer);
  var
    p : Pointer;
  begin
    if Assigned(pValue) then
    begin
      with Self do
      begin
        m_list.nCount := 1;
        New(m_list.pItem);
        m_list.pItem^ := pValue^; // hier soll der fehler sein
        m_list.pNextItem := nil;
        m_list.pLastItem := nil;
      end
    end;
  end;
Zitat von Khabarakh:
Zitat von DeddyH:
Ich steig da nicht mehr durch: PList, ZList, vList, m_list, was ist was?
dito, aber es muss auf jeden Fall
m_list.pItem := pValue; heißen.
Und ein with self bewirkt nicht wirklich viel .
ich moechte den wert kopieren, nicht der adresse von pValue, denn wenn die pValue im fall auf NIL gesetzt wird, dann schmiert pItem auch ab, is doch so nicht?
Peace on the world
  Mit Zitat antworten Zitat