>>427
うーん、色々やって見ましたが上手く行かないです。
これをどこら辺に定義すれば良いのでしょうか。
とりあえず、こんな感じじゃ無理でした。

#include <windows.h>

typedef CBase* NewFunction();
template< typename T > CBase* New(){ return new T; }
CBase* const table[] = { &New<CA>, &New<CB> };   // エラー

CTest::CTest()
{
 int i = 1;
 CBase* pBase = table[i]();
}

エラーメッセージ
error C2440: 'initializing' : '' から 'class CBase *const ' に変換することはできません。(新しい動作 ; ヘルプを参照)
コンテキストはオーバーロードされた関数の非不明瞭を考慮しません。