我想在C++中使用constexpr,但得到编译错误:'constexpr'没有在此范围内声明。编译错误在C++中使用constexpr
我都在使用GNU GCC编译器代码块,并在Visual Studio 2013年尝试
代码:
#include <iostream>
int main()
{
constexpr double ft2m = 0.3048;
std::cout << ft2m;
}
可能是什么问题呢?
我想在C++中使用constexpr,但得到编译错误:'constexpr'没有在此范围内声明。编译错误在C++中使用constexpr
我都在使用GNU GCC编译器代码块,并在Visual Studio 2013年尝试
代码:
#include <iostream>
int main()
{
constexpr double ft2m = 0.3048;
std::cout << ft2m;
}
可能是什么问题呢?
你使用的是哪个版本的gcc?
您可能需要在-std = C++ 11到命令行
的问题是,MSVC2013不支持constexpr
。它并不旨在实现C++ 11标准。
第一个版本是MSVC2015。
您的constexpr
语句在语法上是正确的C++ 11。确保你有一个符合该标准的GCC版本。
哪个版本的GCC? –
此外,[部分复制](http://stackoverflow.com/q/20264644/440558)(关于VS2013)。 –
我猜测你需要改变你的编译器设置,以便它能够针对C++ 11标准进行编译。 –