我正在編寫一個程序,它創建一個複數類,當我嘗試測試我的重載操作符>>時出現這兩個錯誤。下面是錯誤的:任何想法,爲什麼我在我的C++程序中得到這兩個錯誤?
錯誤LNK2028:無法解析令牌 (0A0002BD)「類 的std :: basic_istream> & __cdecl 操作>>(類 的std :: basic_istream> &,類 複雜常量&) (void)「(())中引用的 (」5「$ FYAAAV?$ basic_istream @ DU?$ char_traits @ D @ std @@@ std @@ AAV01 @ ABVComplex @@@ Z) (函數」int __cdecl 「 ?main @@ $$ HYAHXZ)
錯誤LNK2019:無法解析的外部 符號 「類 的std :: basic_istream> & __cdecl 操作>>(類 的std :: basic_istream> &,類 複雜常量&)」 (?? 5 @ $$ FYAAAV?$ @ basic_istream杜?$ char_traits @ d @性病性病@@@ @@ AAV01 @ ABVComplex @@@ Z) 函數 「INT __cdecl 主要(無效)」(引用?主要@@ $$ HYAHXZ)
這裏是我的過載功能:
istream& operator >> (istream& in, Complex& a){
double real, imaginary;
in >> real >> imaginary;
a.setReal(real);
a.setImaginary(imaginary);
return in;
}
另外它說它來自我的mainComplex.obj,mainComplex是一個cpp文件,它具有我用來測試程序的主要功能。
int main(){
Complex num;
cout << "Enter Complex number: ";
cin >> num;
return 0;
}
啊是的!它編譯和工作!非常感謝你!我想我只是在宣言中忽略了那個常量。 – Thomas 2011-05-21 23:14:18
錯誤字符串不是最簡單的閱讀,但它們包含有關編譯器/鏈接器從代碼中解釋什麼的信息,並且確實有助於捕獲錯誤。 – 2011-05-21 23:16:01