我有这样的代码:在Delphi中如何用类转换解决不兼容的类型错误(E2010)?
TBase = class
end;
TClassA = class(TBase)
end;
TClassB = class(TBase)
end;
现在我需要带参数的程序,这个程序必须接受TBASE对象和所有TBASE儿童(TClassA和TClassB),我也试试这个:
procedure MyProcedure(item: TBase);
但如果我尝试传递一个TClassA或TClassB,我得到一个错误:“E2010不兼容的类型:'TBase'和'TClassA类'”。
我不明白我的错误。 谢谢
注意:在发布之前,我已尝试找到一个没有成功的类似问题,如果你知道它,请将链接给我anwser。
“TClassA类”告诉我你还有一些我们看不到的代码。你可以向你的代码展示你实际调用的地方吗? –
您发布的代码中没有“类别投射”(或任何其他“投射”发生)。如果您在调用'MyProcedure'时遇到问题,则应该**发布调用'MyProcedure'的代码**。 –
如果您要显示一个完整的程序来说明错误,那将是微不足道的。我们可以立即给你一个明确的答案。相反,您省略了最重要的代码行。为什么?为什么让我们很难?展示一个完整的程序,15行,说明问题。 –