次の型を使用するテンプレート クラス CFoo があります。
enum My_Types {t1,t2};
によって与えられた専門化で
template<My_Types T>
class CFoo
{
public:
CFoo()
{
std::cerr<<"ERROR:....";
exit(1);
}
};
template<>
class CFoo<t1>
{
....
};
さらに、 CFoo オブジェクトを引数として使用する関数があります
template<class T>
void foo1 ( const T &CfooObj,...);
ここで、foo1 へのポインターが必要なので、テンプレート引数を指定する必要があります。
void (*foo1_pointer) ( const CFoo< t1 >&,...);
しかし、以下は正しくないようです (「関数 foo1 を変換する一致はありません...」):
foo1_pointer=&foo1;
このテンプレート関数のポインタを正しく渡す方法は?