如何从类中提取模板类型:
例如,我有一个像这样的类:
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
不是默认值的值)?