私の質問は少し複雑なので、例から始めます。
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);
メンバー関数を操作するときの構文について少し混乱しています。