<
(より小さい)コンパレータをオーバーロードして整数のペアのセットに渡すにはどうすればよいですか?これは私の現在のコードです:
class A{
public:
typedef std::pair<int, int> pair_type;
bool operator<(const pair_type& a, const pair_type& b){
if (a.first < b.first) return true;
else if ( (a.first == b.first) && (a.second < b.second) ) return true;
else return false;
}
private:
std::set< pair_type > edge_;
};
このコードをコンパイルしようとすると、次のエラーが発生します。
error: 'bool A::operator<(const pair_type&, const pair_type&)' must take exactly one argument
どうすれば修正できますか?