クラスからテンプレート タイプを抽出するにはどうすればよいですか。
たとえば、次のようなクラスがあります。
template <typename T, typename T2 = def>
class A
{
typedef T type;
typedef T2 type2;
//other stuff
}
type2
そして、他のテンプレートで使用したい:
template <typename G>
foo(A<G> a)
{
//This doesn't work:
std::vector<a::type2> vec;
//Neither does this:
std::vector<a->type2> vec;
//or this:
std::vector<typename a::type2> vec;
}
type2
では、インスタンスの内容を特定するにはどうすればよいでしょうかa
(デフォルトではないa
値を持つことができます)。type2