小编use*_*430的帖子

C++较少的运算符

我收到这个错误:

错误1错误C2678:二进制'<':找不到带有'const Data'类型左手操作数的运算符(或者没有可接受的转换)

但我的结构定义如下:

struct Data
{
    String        strData;
    int           intData;
    double        doubleData;

    Data() : intData(-1), doubleData(-0.f)
    {}

    Data(const String& str, int i, double d) : strData(str), intData(i), doubleData(d)
    {}

    const bool operator<(const Data& rightData)
    {
        return strData < rightData.strData;
    }
};
Run Code Online (Sandbox Code Playgroud)

我想我有'<'运算符,但是编译器告诉我不要.

有一点要提,现在我正在比较const Data< Data类型,也许这const会让事情变得糟糕.

我认为这只是一个小错误,但我看不出来......

c++ operator-overloading

0
推荐指数
1
解决办法
400
查看次数

标签 统计

c++ ×1

operator-overloading ×1