我的问题有点复杂,所以我将从一个例子开始:
class a
{
public:
a()
{
pointerMap.insert(pair<std::string, void a::*(int, int)> ("func1", func1);
pointerMap.insert(pair<std::string, void a::*(int, int)> ("func2", func2);
}
private:
void func1(int a, int b);
void func2(int a, int b);
std::map<std::string, void a::* (int, int)> pointerMap;
}
我的问题是,这是将指向成员函数的指针添加到对象内的映射的正确方法,以便您仅引用单个实例的func1
or func2
?
而且,我不知道如何从指针调用这个函数。会是这样吗?
map["func1"](2,4);
使用成员函数时,我对语法有点困惑。