-1

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

错误 1 ​​错误 C2678:二进制“==”:未找到采用“moveStringTree”类型的左侧操作数的运算符(或没有可接受的转换)

4

1 回答 1

2

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

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

其中 x 是您要比较的值。

如果您只想删除相同实例的对象,请比较指针。

return this == &other;
于 2012-08-25T14:45:48.903 回答