我宣布一个obj:
#include "abc.h"
class xxx
{
public:
xxx();
~xxx();
abc* q;
...
};
在.cpp文件中我执行以下操作
此行上的 this->q=new abc();
< -error未明确引用abc::abc()
在控制台中也会出现此错误:
谁知道什么可能是错的?我正在使用eclipse,fedora 14矮人错误:偏移量(76195)大于或等于.debug_str大小 (1472)。
答案 0 :(得分:1)
对
的未定义引用abc::abc()
这是一个链接错误,它告诉您链接器找不到abc::abc()
的定义。
最有可能的是,您只是声明了但没有为类abc
定义无参数构造函数
在您的cpp
文件中,您应该:
abc::abc()
{
}
如果您已经准备好了,那么您应该确保具有此定义的源cpp文件正确链接到您的项目。
答案 1 :(得分:0)
this->q=new abc();
< -error在这一行上有未定义的引用 ABC ABC ::()
根据您的错误,您似乎只有abc::abc()
的声明,并且没有定义。在源文件中定义abc::abc()
或在头文件中将其设为inline
。
答案 2 :(得分:0)
看起来abc类的实现不包含在构建中。将abc.cpp文件添加到构建中。