std::set に基づく新しいデータ型 TType のコンパレータを、別のクラス Object のオブジェクト o で初期化する必要があります。
typedef std::set <unsigned int, sortSet(o)> TType
この宣言は、クラスの外側 (ヘッダー ファイル内) にあります。宣言の時点では、このオブジェクトは存在している必要はありません。後で作成されます。
class sortSet
{
private:
Object o;
public:
sortSet(Object &oo): o(oo) {}
bool operator() ( const unsigned int &i1, const unsigned int &i2 ) const
{
//Some code...
}
};
宣言が何らかのメソッド内にある場合 (オブジェクトが既に作成されている場合)、状況は非常に単純になります...どうすればよいですか?