【发布时间】:2016-07-30 13:56:49
【问题描述】:
Visual Studio 2015 更新 3。
我读了编程。 Bjarne Stroustrup 的《使用 C++ 的原则和实践》(第二版)。我学习了constexpr 函数...
有效:
constexpr int get_value(int n) {
return n + 1;
}
但我无法编译这个(而不是第一个变体):
constexpr int get_value(int n) {
return ++n;
}
我得到错误:
constexpr 函数返回是非常量的
n 是get_value 函数的本地 变量。 IE。 n 变量变化不影响外部代码。
为什么get_value函数的第二个变种是错误的?
【问题讨论】:
-
尝试一个合适的编译器。
-
我在
codeblock和g++ 5.3.1中测试并醒来。 -
@k-five,嗯...也许我的问题是特定于我使用的 IDE...
标签: c++ c++11 visual-c++ c++14 constexpr