使用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'必须通过常量表达式初始化
代码或编译器有问题吗?
答案 0 :(得分:5)
这是clang 3.0中的一个错误,已在3.1中修复。