Я пишу программу, которая создает класс комплексных чисел, и получаю эти две ошибки, когда пытаюсь проверить мой перегруженный оператор >>.Вот ошибки:
ошибка LNK2028: неразрешенный токен (0A0002BD) "класс std :: basic_istream> & оператор __cdecl >> (класс std :: basic_istream> &, класс Complex const &)" (5 @ $$ FYAAAV? $ Basic_istream @ DU? $ Char_traits @ D @ std @@@ std @@ AAV01 @ ABVComplex @@@ Z) ссылка на функцию "int __cdecl main (void)" (? Main @@ $$ HYAHXZ)
ошибка LNK2019: неразрешенный внешний символ "оператор класса std :: basic_istream> & __cdecl >> (класс std :: basic_istream> &, класс Complex const &)" (?? 5 @ $$ FYAAAV? $ basic_istream @ DU? $ char_traits @ D @ std @@@ std @@ AAV01 @ ABVComplex @@@ Z) ссылка на функцию "int __cdecl main (void)" (? main @@ $$ 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;
}