我正在编写一个程序,它创建一个复数类,当我尝试测试我的重载操作符>>时出现这两个错误。下面是错误的:任何想法,为什么我在我的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