无法初始化constexpr

时间:2016-03-01 11:00:07

标签: c++ c++11 clang constexpr

使用clang(版本3.0-6ubuntu3)编译此代码时:

constexpr int foo(const int n) {
    return n + 1;
}

int main(void) {
    constexpr int x = 5 * 4 + 12 + 8;
    constexpr int y = foo(x);
    return 0;
}

使用此命令:

clang -std=c++11 -c constexprExample.cpp

我收到以下错误:

  

错误:constexpr变量' y'必须通过常量表达式初始化

代码或编译器有问题吗?

1 个答案:

答案 0 :(得分:5)

这是clang 3.0中的一个错误,已在3.1中修复。