根本的に勘違いしてると思うんだよねぇ。
つーかさ、switchでつくりゃいいじゃん。ポインタにしてもいいことないよw
最適化かからなくなるし。

switch( TaskType )
{
case TaskType1: funcType1(); break;
case TaskType2: funcType2(); break;
case TaskType3: funcType3(); break;
 default: assert( false /*TaskTypeError*/ );
}


ああ、安全安全。