可能重複:
std::endl is of unknown type when overloading operator<<爲什麼我自己的輸出流類不工作?
#include <iostream>
using namespace std;
struct OutputStream
{
template<class T>
OutputStream& operator <<(const T& obj)
{
cout << obj;
return *this;
}
};
OutputStream os;
int main()
{
os << 3.14159 << endl; // Compilation Failure!
}
的VC++ 2012編譯器抱怨:
錯誤C2676:二進制 '< <': '的OutputStream' 不限定此運算符或轉換爲可接受的類型到預先規定的操作
你沒有定義ENDL –
不牛逼不適用於ENDL? – xmllmx
我認爲它會適用,但代碼沒有endl編譯。 我只是等待更聰明的人回答。 :p –