c – “非虚拟thunk到”,引用:Vtable for in
发布时间:2020-12-16 03:08:48 所属栏目:百科 来源:网络整理
导读:在调试模式下编译时,我的 xcode编译有这些链接错误: "method name",referenced from: Vtable for classnamein objectfile.o"non-virtual thunk to method name",referenced from: Vtable for classnamein objectfile.o 奇怪的是:它只发生在我的一个构建目
在调试模式下编译时,我的
xcode编译有这些链接错误:
"<method name>",referenced from: Vtable for <classname>in <objectfile.o> "non-virtual thunk to <method name>",referenced from: Vtable for <classname>in <objectfile.o> 奇怪的是:它只发生在我的一个构建目标(这两个目标对于该代码几乎相同),加上如果这些方法是在头文件而不是.cpp中定义的,这两个目标都可以正常工作. 所有这些方法都是纯虚拟的.发生这些错误的类继承自多个类,但只有一个会导致这些错误. 任何人有什么想法导致这个错误? 解决方法
受到同样的问题的打击.
当我们定义了一个虚拟成员函数(在.h头文件中)但是没有实现它(在.cpp文件中)时,就发生了. 在我的情况下,实现在#define中,阻止实际编译. GCC应该对这种常见的错误有更明确的信息,例如 virtual function <function> defined but not implemented in class <class> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |