私はクラスを持っています:
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);
}
コードの最後の行は、どの組み合わせを試しても機能しません(コンパイルエラー)。