Сделайте это:
typedef void (Class1::*MemFn)();
static const MemFn ptrFuncTab[] = {
&Class1::fct1,
&Class1::fct2
};
То, что вы использовали, называется указатель на функцию ; то, что я использую, называется указатель на функцию-член . И это не одно и то же.
Используйте эту таблицу функций как:
Class1 c;
(c.*ptrFuncTab[0])();
Или, если вы хотите использовать указатель, тогда
Class1 *pC = new Class1();
(pC->*ptrFuncTab[0])();