我有一個不變的頭:重載ostream的<<操作
typedef class Foo
{
public:
friend ostream& operator<<(ostream&, Foo&);
}*pFoo, **ppFoo;
我試圖實現運營商,像這樣:
#include <iostream>
using namespace std;
#include "Foo.h"
ostream& operator<<(ostream& a, Foo& b){
a << endl;
return a;
}
這是拋出這些錯誤:
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (foo.h)
Error 5 error C2805: binary 'operator <<' has too few parameters (foo.h)
Error 2 error C2433: 'ostream' : 'friend' not permitted on data declarations (foo.h)
Error 4 error C2061: syntax error : identifier 'ostream' (foo.h)
請記住,標題不能被觸及,我該怎麼辦?
好像你錯過了一些'#include'語句。另外你的_「實現」_看起來很沒用。 –