欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > 内容正文

[Qt解错篇]报错:error: undefined reference to vtable for ClassName,undefinedvtable

来源: 开发者 投稿于  被查看 11165 次 评论:149

[Qt解错篇]报错:error: undefined reference to vtable for ClassName,undefinedvtable


一、问题描述:

编译工程时报错:error: undefined reference to vtable for ClassName,如图示:



二、问题分析:

造成这种错误的原因很多,甚至在纯C++编程过程中也可能出现。下面根据自己情况,具体问题具体分析。

原因:在原先没有Q_OBJECT关键字的工程中添加了该关键字,但是没有执行qmake,直接编译导致出现该错误。


三、例子:

原先工程的类建立:

class CAppConfig
{
public:
    CAppConfig(void);
    CAppConfig(const CAppConfig &);
    CAppConfig &operator = (const CAppConfig &);
    void setDefault(void);
    .......
};

后来在该类中加入了Q_OBJECT,如下:

class CAppConfig
{
    Q_OBJECT
public:
    CAppConfig(void);
    CAppConfig(const CAppConfig &);
    CAppConfig &operator = (const CAppConfig &);
    void setDefault(void);
    .......
};
要避免错误,先qmake,再build:




编写程序DEVC++运行出现如下错误,何解? [Linker error] undefined reference to `vtable for teacher'

析构函数都没有?写的不行啊
 

c++编译时出undefined reference to "ClassName::Function()"这种错为何

一个错误是Set函数不能生命为const,因为你里边改变了成员变量的值
还有可能是工程没有关联好,重新建个工程
 

相关频道:

用户评论