A のようなクラスがあり、T2 をタイプ C に設定して、このような B のようなテンプレートに適用する方法はありますか? ただし、A から継承する別のテンプレート クラスを作成する必要はありません。
template<typename T1, typename T2>
class A
{ };
template<template <typename T1> class T3>
class B
{ };
テンプレート エイリアスを使用した C++11 では、次のように動作します。
template<typename T1, typename T2>
class A
{ };
template<template <typename T1> class T3>
class B
{ };
class C
{ };
template< typename T > using A1 = A< T, C >;
int main()
{
B< A1 > b;
}
C++11 がないと、おそらく既に知っていることが残ります。
template< typename T > class A1 : A< T, C > {};