我正在尝试在C中使用constexpr但是得到编译错误:'constexpr'未在此范围内声明 .
我在使用GNU GCC编译器的CodeBlocks和Visual Studio 2013中都尝试过 .
代码是:
#include <iostream> int main() { constexpr double ft2m = 0.3048; std::cout << ft2m; }
可能是什么问题呢?
您使用的是什么版本的gcc?
您可能需要在命令行中使用-std = c 11
问题是MSVC2013不支持 constexpr . 它并不意味着实施C 11标准 .
constexpr
第一个版本是MSVC2015 .
您的 constexpr 语句在语法上是正确的C 11.确保您具有符合该标准的GCC版本 .
2 回答
您使用的是什么版本的gcc?
您可能需要在命令行中使用-std = c 11
问题是MSVC2013不支持
constexpr
. 它并不意味着实施C 11标准 .第一个版本是MSVC2015 .
您的
constexpr
语句在语法上是正确的C 11.确保您具有符合该标准的GCC版本 .