我知道命名空间不能是模板参数。请看问题,"template specialized on a namespace"
给定的
:
命名空间A{ class Foo;class Bar;}命名空间B{ class Foo;class Bar;}
我想在命名空间A
或B
上创建一个类模板,以便执行以下操作:
模板类C{ name::Foo* foo;name::Bar* bar;};
我想知道为什么会这样。我知道模板不是结构,但是编译器的设计有技术上的限制吗?或者,实现此功能是否有一些重要的权衡?
发布于 2012-10-16 08:42:18
这将是:
发布于 2012-10-16 23:46:58
当Bjarne Stroustrup第一次在C++标准会议上讨论模板时,他提到了命名空间作为模板参数。人们的反应是怀疑的,部分原因是名称空间本身太新了,我们害怕将两个我们不理解的东西组合在一起。
https://stackoverflow.com/questions/12905951
复制相似问题