Используйте это:
void A::run()
{
test_case[0].test_func = &A::test_func_0;
(this->*(test_case[0].test_func))(1);
}
Обратите внимание, что у вас было 2 ошибки. Первым было то, как вы сформировали указатель на функцию-член. Обратите внимание, что единственный способ сделать это - использовать &ClassName::FuncName
независимо от того, находитесь ли вы в области видимости класса или нет. И тоже обязательно.
Во-вторых, когда вы вызываете член с помощью указателя на функцию-член, вы должны явно указать объект (типа A в вашем случае), для которого вызывается функция-член. В этом случае вы должны указать this
(и поскольку это указатель, мы используем ->*
вместо .*
)
НТН