-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 に答える