【发布时间】:2010-12-14 21:41:16
【问题描述】:
我该怎么做? (下面的代码不起作用,但我希望它能解释这个想法。)
class MyClass
{
....
private:
int ToBeCalled(int a, char* b);
typedef (MyClass::*FuncSig)(int a, char* b);
int Caller(FuncSig *func, char* some_string);
}
我想以某种方式调用 Caller:
Caller(ToBeCalled, "stuff")
并让Caller 调用ToBeCalled 并使用它认为需要传递的任何参数。如果可能的话,我希望将所有内容都封装在我班级的私有部分中。实际上,我有大约 50 个函数,例如 ToBeCalled,所以我找不到避免这种情况的方法。
感谢您的任何建议。 :)
【问题讨论】:
-
所有 50 个函数都具有与“int ToBeCalled(int a, char* b);”相同的参数列表,或者可能是不同的,例如“int Another(int a, char *b, short c);"?
标签: c++ function pointers function-pointers member