template < typename T >
class CLASS_TEMPLATE { } ;
template < template < typename T > class CLASS >
void funcI ( ) { }
template void funcI < CLASS_TEMPLATE > () ;
CLASS_TEMPLATE テンプレート引数に関するヒントがない場合、コンパイラはどのように関数をインスタンス化しますか?
テンプレート template に関する私の仮定は間違っていました。
の正式なテンプレート パラメータは、1 つのテンプレート パラメータを持つfuncI
テンプレートです。
template < template < typename... > class CONTAINER >
void funcII ( )
{
CONTAINER< int > container0 ;
CONTAINER< float > container1 ;
/* ... */
}
template void funcII < std::vector > () ;
funcII
テンプレートを次のようにインスタンス化し{ std::vector< int > container0 ; std::vector< float > container1 ; /* ... */ }
ます。