-1
我正在一類分數與全局函數用法 我的代碼看起來像下面:C++:錯誤而C++程序編譯
#include<iostream>
using namespace std;
ostream & operator<<(ostream & os, Fraction & fr)
{
return os << fr.get_num() << '/' << fr.get_den();
}
class Fraction
{
private:
int num, den;
public:
int get_num()
{
return num;
}
int get_den()
{
return den;
}
};
主要功能有呼叫:'清點< < F2 < < ENDL;
但我得到以下建立誤差修改而編譯:
錯誤C2805二進制「操作< <」太少參數
FR:未聲明的標識符
get_num的 左側必須結構/聯合/類
這是你得到的唯一錯誤?當您定義'operator <<'函數時,沒有關於'Fraction'未聲明的內容?你知道在C++中你必須在使用它們之前聲明符號嗎? –
可能的重複http://stackoverflow.com/questions/23335209/error-overloaded-operator-must-be-a-binary-operator-has-3-parameters – Learner
你也應該通過const reference參考 –