gpt4 book ai didi

delphi - 如何声明交叉引用的类类型?

转载 作者:行者123 更新时间:2023-12-03 18:08:23 25 4
gpt4 key购买 nike

我试图在 Delphi 中构建一个类系统。 TFieldSpecTTableSpec 类通过对象属性相互引用。

type
TFieldSpec=class(Tobject)
private
FTableSpec : TTableSpec;
public
property TableSpec : TTableSpec read FTableSpec;
end;

TTableSpec=class(Tobject)
private
FFields : array[1..100] of TFieldSpec;
end;

当我编译这个时,我得到这个错误:

[Error] Objects.pas(66): Undeclared identifier: 'TTableSpec'

如何构造这些类类型?

最佳答案

您应该使用 TTableSpec 的前向声明:

type
TTableSpec = class;

TFieldSpec=class(Tobject)
private
..
FTableSpec : TTableSpec;
..
end;

TTableSpec=class(Tobject)
private
FName : string;
..
end;

关于delphi - 如何声明交叉引用的类类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com