我對朋友操作符重載感到困惑。如果我在頭文件中編寫friend運算符重載函數,它沒有問題,但是一旦將函數移動到類文件,它會給我以下錯誤。我搜索了一些樣本,他們都在頭文件中寫了函數。我做錯了什麼?謝謝。C++的朋友操作符+超載
...: error: expected ‘,’ or ‘...’ before ‘&’ token
...: error: ISO C++ forbids declaration of ‘statisticain’ with no type
...: error: ‘main_savitch_2C::statistician operator+(int)’ must have an argument of class or enumerated type
// a.h
class A
{
public:
friend A operator + (const A &a1, const A &a2);
};
// a.cpp
#include "a.h"
A operator + (const A &a1, const A &a2)
{
//
}
該代碼適用於我。你的**實際**代碼是什麼樣的? – 2011-02-09 06:19:04
因爲每個人都給出了關於如何正確地重載operator +的建議,[這裏是](http://codepad.org/8E9m5A7a)我的建議。 – 2011-02-09 06:58:12