我有一堂课:
class A {
void test_func_0(int);
void run();
typedef void(A::*test_func_t)(int);
struct test_case_t{
test_func_t test_func;
} test_case[100];
};
现在我想在 run() 中调用 test_func():
void A::run()
{
test_case[0].test_func = &test_func_0;
test_case[0].*(test_func)(1);
}
无论我尝试什么组合,我的代码的最后一行都不起作用(编译错误)。