如何使用 int 参数为特定模板部分特化模板函数

How to partially specialize a template function for a specific template with int paramater

我找不到似乎可以回答这个问题的另一个问题。

我有一个模板定义如下:

template <int N> class classA;

//class A 的正文与这个问题真的无关。

现在我有了第二个 class 模板:

template<typename T> class classX
{
 public:
  static const unsigned number;
}

默认实现:

template<typename T> classX<T>::number = sizeof(T);

但是,如果与 classA 一起使用,我想为 classX 设置一个 "specialization"。 但是对于 all/any 模板参数 N。 我该怎么做?

感谢您的回复:)

已编辑:更正语法错误:)

您将使用:

template <int N> class classX<classA<N>>
{
   // Add the details of the specialization
};

顺便说一句,您发布的代码有语法错误。

template <int N> classA;

应该是:

template <int N> class classA;
      // Missing ^^^^

template<typename T> classX { ...

应该是

template<typename T> class classX { ...
          // Missing ^^^^

请参阅注释中的 link posted by @TonyD 以了解工作示例程序。