C++相談室 part31
■ このスレッドは過去ログ倉庫に格納されています
0429デフォルトの名無しさん
NGNGうーん、色々やって見ましたが上手く行かないです。
これをどこら辺に定義すれば良いのでしょうか。
とりあえず、こんな感じじゃ無理でした。
#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 ' に変換することはできません。(新しい動作 ; ヘルプを参照)
コンテキストはオーバーロードされた関数の非不明瞭を考慮しません。
■ このスレッドは過去ログ倉庫に格納されています