gpt4 book ai didi

c++ - Varargs 类方法头转换错误

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:12 26 4
gpt4 key购买 nike

我有一个要转换为 Delphi 的 C++ 类,它具有如下所示的可变参数成员函数:

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

我做错了什么?

最佳答案

您遇到了 Delphi 的一个怪癖。方法描述标签不能按任何顺序排列。 Virtual 必须在 abstract 之前,我不确定其他两个。

此外,Delphi 不允许您声明varargs 方法。该声明仅对从外部 DLL 导入 varargs 例程有效。

关于c++ - Varargs 类方法头转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4415302/

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