我希望创建一个模板类,其中一个成员是一个constexpr数组。当然,根据它的类型,该数组需要不同的初始化,但我无法在不初始化它的情况下声明该数组。问题在于,在模板特化之前,我不知道数组的值。
//A.hpp
template<typename T>
class A {
public:
static constexpr T a[];
constexpr A() {};
~A() {};
}
//B.hpp
class B: public A<int> {
public:
constexpr B();
~B();
};
//B.cpp
template<>
constexpr int A<int>::a[]={1,2,3,4,5};
B::B() {}
B::~B() {}
如何在B中正确初始化A::a[]?