列表类中的奇怪错误

时间:2012-08-25 14:19:18

标签: c++ list

我构建我的项目。它没有错误,除了它说它在列表类中!默认列表类不是我的。 错误是

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

1 个答案:

答案 0 :(得分:2)

std::list::remove依赖于==运算符来正确关联传递给列表中对象的对象。在moveStringTree类中定义它:

bool operator==( const moveStringTree& other ) const  {
    return x == other.x;
}

其中x是您要比较的值。

如果只想在同一个实例中删除对象,请比较指针。

return this == &other;