現在、次のようなクラスがあります。
#define SET_METHOD( t , n ) \
private:    t n;    \
public:     void set_##n(  t value ) {  n = value; }
    class SomeClass
    {
        private: 
                    SET_METHOD(std::map<int,SomeClass>,hf);
    };
しかし、私がこのようなことをすると:
SomeClass sc;
hc.AddItem(1,sc);
次のエラーが表示されます。ゲッターとセッターを設定するためのこれらのマクロもありますが、今回は何が問題なのかわかりません。次のエラーが表示されます
Error   3   error C2923: 'std::map' : 'SomeClass' is not a valid template type argument for parameter '_Ty' 
Error   4   error C2208: 'std::map<_Kty,_Ty>' : no members defined using this type  
この問題を解決する方法についての提案をいただければ幸いです