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から「ブースト」名前空間を参照する方法がわからないことです。

4

1 に答える 1

5

クラス内に名前空間を作成することはできません。また、クラス内の名前空間スコープでテンプレートを特殊化することもできません。

于 2010-08-12T16:55:29.377 に答える