2012-03-12 167 views
0

我正在用C++編程一個簡單的「房子出價」應用程序。我編譯並得到這個錯誤消息:無法解析的外部符號錯誤是什麼意思?

1>Hus.obj : error LNK2019: unresolved external symbol "public: __thiscall 
Bud::Bud(void)" ([email protected]@[email protected]) referenced in function "public: __thiscall 
Hus::Hus(int,class Person,class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> >)" 
([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>F:\c++\prosjekter\Øving 4\Ov4Oppg1\Debug\Ov4Oppg1.exe : fatal error LNK1120: 1 
unresolved externals 

任何人都有線索?

+0

我猜你沒有與在Hus.obj需要Bud.obj聯......? – 2012-03-12 18:36:23

回答

2

你得到的錯誤,因爲你還沒有實現

Bud::Bud() 

你從Hus::Hus()調用。

你最有可能是這樣的:

class Bud 
{ 
public: 
    Bud(); 
} 

忘落實構造。您需要添加

Bud::Bud() 
{ 
    //whatever 
} 

到一個執行文件,編譯並鏈接到生成的obj文件。

+0

是的,我其實是。非常感謝m8 :-) – user1264836 2012-03-12 18:50:40

+0

@ user1264836你究竟做了什麼? – 2012-03-12 18:54:03

+0

我有一個我使用的構造函數,它不像默認的構造函數。但是我在頭文件中聲明瞭一個空的構造函數,因爲聲明瞭一個Bud表。所以我忘記了這個空的構造函數在.cpp文件中的實現。 – user1264836 2012-03-12 19:02:14

1

我有一個簡單的錯誤導致同樣的錯誤:我忘了在cpp文件中實現我的一個函數。 當其他類的對象調用了這個類的一個我忘記實現的對象時,就會出現這個錯誤。 我認爲這個錯誤看起來像一個「鏈接錯誤」,因爲我的函數返回在我的項目的其他文件中定義的類型。

Noobie錯誤...但它可以成爲有用的人......

相關問題