我正在使用C ++编写一个简单的“房屋出价”应用程序。我编译并得到此错误消息:
1>Hus.obj : error LNK2019: unresolved external symbol "public: __thiscall
Bud::Bud(void)" (??0Bud@@QAE@XZ) referenced in function "public: __thiscall
Hus::Hus(int,class Person,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >)"
(??0Hus@@QAE@HVPerson@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>F:\c++\prosjekter\Øving 4\Ov4Oppg1\Debug\Ov4Oppg1.exe : fatal error LNK1120: 1
unresolved externals
任何人都有线索?
答案 0 :(得分:2)
您收到错误是因为您尚未实施
Bud::Bud()
您从Hus::Hus()
拨打电话。
你很可能有类似的东西:
class Bud
{
public:
Bud();
}
并忘了实现构造函数。你需要添加
Bud::Bud()
{
//whatever
}
到实现文件,编译并链接到生成的obj文件。
答案 1 :(得分:1)
我遇到了一个简单错误导致的同样错误:我忘了在cpp文件中实现我的一个函数。 当其他类的对象称为我忘记实现的这个类的一个对象时,出现了这个错误。 我认为错误看起来像是“链接错误”,因为我的函数返回了我项目的其他文件中定义的类型。
Noobie错误......但它对某人有用......