嘿。是否可以为原始类型重载 operator<< ?Fx 可以说我想写一个 std::endl 每次想写一个 int。我可以为 int 重载 operator<<,以便它自动将 std::endl 放到输出中吗?我试过这个,
std::ostream& operator<<(std::ostream& strm, int & i)
{
strm << i << std::endl;
return strm;
}
但它不起作用。我不记得编译器错误消息,但我认为我让运算符重载所有错误的方式。我尝试以这种方式调用上面的重载运算符<<,
int main()
{
int i = 2;
std::out<<"Here is an int " << i;
return 0;
}
但它根本不起作用。也许我不能重载 POD 类型?