2017-03-06 52 views
1

我想在C++中使用constexpr,但得到编译错误:'constexpr'没有在此范围内声明。编译错误在C++中使用constexpr

我都在使用GNU GCC编译器代码块,并在Visual Studio 2013年尝试

代码:

#include <iostream> 

int main() 
{ 
    constexpr double ft2m = 0.3048; 
    std::cout << ft2m; 
} 

可能是什么问题呢?

+0

哪个版本的GCC? –

+0

此外,[部分复制](http://stackoverflow.com/q/20264644/440558)(关于VS2013)。 –

+0

我猜测你需要改变你的编译器设置,以便它能够针对C++ 11标准进行编译。 –

回答

2

你使用的是哪个版本的gcc?

您可能需要在-std = C++ 11到命令行

2

的问题是,MSVC2013不支持constexpr。它并不旨在实现C++ 11标准。

第一个版本是MSVC2015。

您的constexpr语句在语法上是正确的C++ 11。确保你有一个符合该标准的GCC版本。