我試圖將以下函數轉換爲包含-
符號而不是減法函數。但它說函數不可行,並且期望第一個參數有一個左值。在C++中重載operator-()
class fraction
{
long num;
long den;
}
我排除了構造函數和其他所有東西。
inline fraction fraction::operator+(fraction &f)
{
fraction t;
t.num = num - f.num;
t.den = den - f.den;
return t;
}
inline const fraction sub(const fraction& f,const fraction& s)
{
return fraction (getNum(f)*getDen(s)-getDen(f)*getNum(s),getDen(f)*getDen(f));
}
嘗試'內聯分數fraction :: operator +(const fraction&f)const' – 2014-10-05 19:39:46
'operator +'應該表示什麼? – juanchopanza 2014-10-05 19:46:30
你可能想爲運算符添加一個'const',因爲'operator-(分數const&f ...'允許它綁定到右值。 – Niall 2014-10-05 20:48:57