使用继承的编译器错误lnk2019和c4930
Compiler error lnk2019 and c4930 using inheritance
我在使用继承时编译代码时遇到问题。我已经尝试了所有的东西,但编译没有成功
我首先有一个抽象或"接口"类
class ImyBase
{
public:
ImyBase();
ImyBase(....);
virtual ~ImyBase();
virtual void someFuncs() = 0;
....
};
然后我有一个实现这个类的类。
class myBase : public ImyBase
{
public:
myBase();
myBase(....);
virtual ~myBase();
void someFuncs();
....
};
然后我有一个包装类。
class myWrap
{
public:
myWrap();
myWrap(....);
virtual ~myWrap();
void someFuncs();
....
};
在这一点上,在实现中一切都很好。但是,当我尝试测试包装类时,我会在那里得到错误LNK2019:未解析的外部符号"public:__thiscall ImyBase::ImyBase(void)"(??0ImyBase@@QAE@XZ)在函数"public:__thiscall myBase::myBase(void)"中引用(?0myBase@@QAE@XZ)
int main(int argc, char* argv)
{
myWrap wr;
}
感谢您的帮助!我知道这一定是一个愚蠢的错误。。。
您没有基构造函数的实现。选项是在实现文件中定义构造函数,或者,如果构造函数为空,则在类定义本身中定义:
class ImyBase
{
public:
ImyBase() {};
ImyBase(....) {};
virtual ~ImyBase() {};
};
或者对于C++11:将它们标记为default
class ImyBase
{
public:
ImyBase() = default;
ImyBase(....) = default;
virtual ~ImyBase() = default;
};
相关文章:
- 类C++中的函数问题(LNK2019和LNK1120错误)
- CppSQLite 抛出"LNK2019: unresolved external symbol"错误
- Visual Studio中的wxwidgets应用程序给出错误"LNK2019 unresolved external symbol"
- 什么会导致LNK2019 VisualStudio中的错误?
- 构建 Tensorflow 调试时出现错误LNK2019
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 错误LNK2019未解析的外部符号"public: __thiscall SLinkList<char>::SLinkList<char>(void)"
- Qt C++LNK2019:使用QNetworkAccessManager未解析的外部符号
- 链接CPP文件进行测试时发生LNK2019错误
- LNK2019:C++/CLI 中未解析的外部符号
- 函数 LNK2019 "int __cdecl __scrt_common_main_seh(void)" 中引用的未解析外部符号主错误 (?__scrt_common_main_seh@@YAHXZ
- 皮克斯美元LNK2019:未解析的外部交易品种
- LNK2019未解析的外部符号"公共:__thiscall
- 32位到64位:LNK2019错误,如何检索相关信息
- Google Test:错误 LNK2019:使用 Visual Studio 2017 与 CMake 进行未解析的外
- LNK2019 - 在VS2017中使用Freeling
- 在结构函数之间传递文件路径 C++ 编辑:修复LNK2019错误
- LNK2019和LNK1120错误,未解析的外部和未解析的符号
- MAPI 链接静态库 (LNK2019: 未解析的外部符号)
- 使用继承的编译器错误lnk2019和c4930