我在为 const 对象重载 operator<< 时遇到问题。我找不到问题所在
#include <iostream>
using namespace std;
class T
{
friend ostream& operator<<(ostream& os,T& t)
{
os << "Val : " << t.value << endl;
return os;
}
private:
int value;
public:
T(int v) { value=v; }
int getValue() const { return value; }
};
int main()
{
const T t(2);
cout << t;
return 0;
}
编译器消息:
错误 C2679:二进制“<<”:未找到采用“const T”类型右侧操作数的运算符(或没有可接受的转换)