procedure Add(Node : ^TCheckNode);
TCheckNode是我声明的一个类。每次编译都说'^'符号无法识别。请问指针参数怎样调用?或许不能调用?

解决方案 »

  1.   

    PTCheckNode = ^TCheckNode;
    procedure Add(Node : PTCheckNode);
      

  2.   

    PTCheckNode=^TCheckNode;procedure Add(Node : PTCheckNode);
      

  3.   

    TCheckNode是我声明的一个类類的話 不需要用指針了 直接傳就是 因為delphi中類的對象傳遞就是傳 引用的(類似與傳指針)
    如果是 自定義結構體 是需要傳 其指針的。。
      

  4.   

    如楼上所说,直接用procedure Add(Node : TCheckNode);就可以了。
      

  5.   

    谢谢诸位大哥,再问一个问题,指针之间是怎样赋值的。
    比如:temp1 : ^TCheckNode;
          temp2 : ^TCheckNode;
          temp1:=temp2;为什么报错?说类型不匹配。
      

  6.   

    這事delphi的一個小問題你需要這樣type 
      PTCheckNode = ^TCheckNode;temp1: PTCheckNode;
    temp2: PTCheckNode;temp1 := temp2; // ok
    temp1^ := temp2^;
    temp1 : ^TCheckNode;
          temp2 : ^TCheckNode;
    這樣 delphi認為它們是不同的類型,雖然 它們都是 ^TCheckNode....但如果你用 type這樣明確說明的話 就OK
      

  7.   

    如果是一个实类对象,比如 TStringList,传递给其它过程使用时,实际上传递的就是指针.procedure addstring(strList: Tstringslist, str: string);
    begin
      strList.add(str);
    end;procedure addstring(var strList: Tstringslist, str: string);
    begin
      if strList = nil then strList:= TStringList.create;
      strList.add(str);
    end;
      

  8.   

    呵呵..很多C++的思维惯性 在 Delphi上行不能了
      

  9.   

    beyondtkl(大龙驹<干掉小日本>) 说得对,不需要用指针,delphi是传引用,你用指针反而无谓增加了一次计算。