【发布时间】:2022-07-19 20:22:07
【问题描述】:
模板模板模板模板。既然这已经超出了我们的系统,我该如何在下面的bar() 中引用T?
template <template <typename T> class Foo>
void bar()
{ }
以下不起作用
// error: unknown type name 'T'
template <template <typename T> class Foo>
void bar(T x)
{ }
我想这样做而不通过Foo,即不使用Foo::value_type(可能存在也可能不存在)。
如果重要的话,任何解决方案都需要理想地使用 C++11。
【问题讨论】:
-
什么?当
bar有模板模板参数时,则没有T。T只是Foos 参数的占位符,但Foo只是模板,而不是实例化。也许您想如何使用它的一些示例将有助于澄清 -
你不能。因为
T的作用域之前结束了。