0

如何专门化在我的类主体中的某个外部命名空间中定义的模板?

使用不编译的 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”命名空间。

4

1 回答 1

5

您不能在类内创建命名空间,也不能在类内的命名空间范围内专门化模板。

于 2010-08-12T16:55:29.377 回答