我想知道如何填充这种类型的地图,主要是访问函数指针的方式。
地图 :
enum enum1
{
val11,
val12,
val13
};
enum enum2
{
val21,
val22,
val23
};
typedef void(MyClass::*funcPtr)();
std::map<std::pair<enum1, enum2>, funcPtr> map;
我这样填充它,它似乎工作:
map.insert(std::make_pair(std::make_pair(val11, val21), &MyClass::init));
但我无法访问这样的功能:
map[std::make_pair<val11, val21>]();
我究竟做错了什么?