错误C2593:'operator>>'很暧昧

时间:2012-12-08 13:41:04

标签: c++ visual-c++ compiler-errors

我在重载>>时遇到了此错误操作员,我不明白为什么。

istream& operator>>(istream& stream, unsigned int in)
{
    stream >> in;
    //manyoperators
    if(in>10)
       in = -1;
    return stream;
}

部分错误代码:

unsigned int tmm;
    cin >> tmm;

为什么呢?我没有其他超载的>>。 它可能是什么?

2 个答案:

答案 0 :(得分:2)

您可以仅为自定义类而非内置数据类型重载函数(在您的情况下为运算符>>)。
C ++标准库本身为内置数据类型提供了重载。

答案 1 :(得分:0)

std::istreamoperator>>(unsigned int&)成员。编译器无法选择是否调用成员函数(在<iostream>中定义)或您编写的自由函数。