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

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

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

代码是:

#include <iostream>

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

可能是什么问题呢?

回答(2)

2 years ago

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

您可能需要在命令行中使用-std = c 11

2 years ago

问题是MSVC2013不支持 constexpr . 它并不意味着实施C 11标准 .

第一个版本是MSVC2015 .

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