私はこのクラスを持っています:
class myClass{
public:
myClass(string label);
~myClass();
string myget();
void myset(string label);
void myadd(class2 * edge);
private:
string label;
vector<class2 *> myList;
};
タイプ myClass のオブジェクトの等価性をチェックする関数を書きたい:
bool operator== (myClass& l,myClass& r)
{
}
これらのオブジェクトの myList ベクトルをチェックするために、l と r をコピーし、コピーのベクトルをソートし、それらのコピーのソートされたベクトルが等しいかどうかをチェックしたいと考えました。しかし、l と r のコピーに失敗したと思います。これが私がそのために書いたものです:
myClass x = new myClass("s1");
myClass y = new myClass("s2");
x = l;
y = r;
sort(x.myList.begin(),x.myList.end());
sort(y.myList.begin(),y.myList.end())
if( x == y)
return true;
else
return false;
このコードは次のエラーを返します: エラー: 'myClass*' から非スカラー型 'myClass' への変換が要求されました。
x および y ポインターを作成しようとしましたが、どちらも機能しませんでした。このコードを修正する方法を教えてください。
前もって感謝します。