2012-07-06 22 views
2

鉴于a<b<c>>表格的一种类型,我可以将其展开以便我找回类型名称ab<c>,然后c?或者至少可以有模板化的功能,使我可以匹配类型名称的元素,例如你可以在C++ 11中展开一个类型表达式吗?

template <typename C, typename E> 
fun(C<E>& h, C<E>& i) {...} 

在此先感谢。

+2

“*我可以放松,所以我回来了类型名'了'和'b ''然后* C'”没有,因为'了'是不是一个类型的名字。尽管你可以简单地回到'b '然后'c'。 – ildjarn 2012-07-06 19:26:11

回答

4
template <template<typename> class C, typename E> 
fun(C<E>& h, C<E>& i) {...} 
+0

为什么不 - std :: vector v;有趣(v) - 工作?而模板 class D {}; D d;有趣(四)有效吗? – 2012-07-06 19:54:55

+0

@FredFinkle因为向量具有形式模板>类矢量 它的工作原理例如在GCC 4.7+ 模板<模板<类型名称,类型名>类C,类型名称E,模板 class Z> void fun(C >&h,C >&i){} – ForEveR 2012-07-06 20:00:02

+0

这也回答了我有关如何说“任何类型”的问题,现在我知道了。再次感谢。 – 2012-07-06 20:25:52

相关问题