如何特化类主体中某个外部命名空间中定义的模板?
使用不编译的 BGL 的具体示例:
class A
{
namespace boost
{
template <class ValueType>
struct container_gen<SomeSelectorS, ValueType>
{
typedef std::multiset<ValueType,MyClass<ValueType> > type;
};
}
}
如果将 container_gen 的特化移出 A 类,一切都会很好。具体问题是我不知道如何从 A 类引用“boost”命名空间。
最佳答案
您不能在类内创建命名空间,也不能在类内的命名空间范围内特化模板。
关于c++ - 类命名空间内的模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3470047/