我有一个C++类,正在将其转换为具有这样的varargs成员函数的Delphi:
class ICInterface {
virtual void printf(const char* fmt, ...) = 0;
};
我尝试这样做以制作等效的Delphi代码,因此可以从Delphi调用它:
ICInterface = class
procedure printf(fmt : PAnsiChar); varargs; cdecl; abstract; virtual;
end;
但是当我编译时,它给了我错误:
[DCC Error] ICInterface.pas(9): E2169 Field definition not allowed after methods or properties
我究竟做错了什么?
最佳答案
目前尚不清楚您要做什么。
如果您需要C++代码的Delphi类似物
class ICInterface {
virtual void printf(const char* fmt, ...) = 0;
};
它是
ICInterface = class
procedure printf(fmt : PAnsiChar; const args: array of const); virtual; abstract;
end;
但是它与C++代码不二进制兼容。
如果您使用C++编写的DLL可以导出C++类,则不能直接在Delphi中使用此DLL。