クラスのインスタンスで満たすことができるセットを作成しようとしています。セットの要件は要素を比較できることであると考えたので、この場合、クラスにどのように比較できるかを伝える必要があります。次のクラスを作成しました。
class Myclass
{
public:
Myclass(int i):storedval(i) {}
int getval(){return storedval;}
friend bool operator> (Myclass &first, Myclass &second)
{
return first.getval()>second.getval();
}
friend bool operator< (Myclass &first, Myclass &second)
{
return first.getval()<second.getval();
}
private:
int storedval;
};
しかし、次のようにインスタンスをセットに追加しようとすると:
Myclass a(50);
set<Myclass> Bunchofclasses;
Bunchofclasses.insert(a);
> および < 演算子を理解していないことを示していると思われる一連のエラー テキストが表示されます。これはどのように適切に行う必要がありますか?