错误:必须使用括号括起的初始化程序初始化数组

Mar*_*rek 5 c++ arrays static templates

我有一段C++代码:

template <typename WorkType, int Degree = 2> class PolynomialFunction {
 public:
  static constexpr int kNumberCoefficients[] = { 0, 3, 6, 10, 15 };
  static const int kPolyDimension = kNumberCoefficients[Degree];
  ...
 private:
  WorkType polynom_[kPolyDimension];
  ...
Run Code Online (Sandbox Code Playgroud)

哪个编译好之前但突然(可能是新的编译器)它失败并出现以下错误:

./polynomial_function.h:实例化'constexpr const int PolynomialFunction :: kNumberCoefficients []':
./ polynomial_function.h:84:56:需要'const int PolynomialFunction :: kPolyDimension'
./polynomial_function.h : 309: 35 :需要来自'class PolynomialFunction'
./segment.h:
321:17:从这里需要 ./polynomial_function.h:83:24:错误:初始化程序无法确定'PolynomialFunction :: kNumberCoefficients'的
大小./polynomial_function.h: 83:24:error:数组必须用大括号括起来的初始化器初始化
./polynomial_function.h:在'class PolynomialFunction'的实例化中:
./ segment.h:321:17:从这里需要

顺便说一句.第83行是'kNumberCoefficients'的声明,第309行是'polynom_'的声明.任何想法为什么失败?谢谢.