如何使用函数初始化静态const类成员

时间:2019-04-06 22:17:26

标签: c++

当我尝试编译foo类时,编译器将给出一个错误:“静态数据成员的类内初始化程序不是常量表达式。”

class foo
{
  static constexpr int c(int i) { return i * i; };

  static const int m = 2;

  static const int n = c(m);

  int a[n];
};

为什么c(m)不算作常量表达式?在这种情况下,有没有办法“链接” constexpr函数?

我要实现的目标是使用一个函数定义a数组的大小。

0 个答案:

没有答案