在C ++中使用constexpr进行编译错误

时间:2017-03-06 07:52:45

标签: c++

我正在尝试在C ++中使用constexpr但是得到编译错误:'constexpr'未在此范围内声明。

我在使用GNU GCC编译器的CodeBlocks和Visual Studio 2013中都尝试过。

代码是:

#include <iostream>

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

可能是什么问题?

2 个答案:

答案 0 :(得分:2)

您使用的是什么版本的gcc?

您的命令行可能需要-std = c ++ 11

答案 1 :(得分:2)

问题是MSVC2013不支持constexpr。它并不意味着实现C ++ 11标准。

第一个版本是MSVC2015。

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