我目前有一个如下所示的课程。
#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);
我收到以下错误。我也有这些用于设置 getter 和 setter 的宏,但这次我不知道问题出在哪里。我收到以下错误
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
任何有关如何解决此问题的建议将不胜感激