小编Abd*_*iri的帖子

constexpr静态std :: array <const char *,5>无法使用MSVC2013进行编译

我有以下代码:

#include <array>
#include <iostream>

class ExternalGeometryExtension
{
public:
    enum Flag {
        Defining = 0,
        Frozen = 1, 
        Detached = 2,
        Missing = 3,
        Sync = 4,
        NumFlags
    };

    constexpr static std::array<const char *,NumFlags> flag2str{{ "Defining", "Frozen", "Detached","Missing", "Sync" }};
};

int main()
{
    std::cout << ExternalGeometryExtension::flag2str[ExternalGeometryExtension::Frozen] << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

可以使用以下版本编译良好:clang版本5.0.0和gcc(Ubuntu 4.8.4-2ubuntu1〜14.04.3)4.8.4

无法使用MSVC2013进行编译。

编译错误是:

#include <array>
#include <iostream>

class ExternalGeometryExtension
{
public:
    enum Flag {
        Defining = 0,
        Frozen = 1, 
        Detached = 2,
        Missing = 3,
        Sync …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

3
推荐指数
1
解决办法
112
查看次数

标签 统计

c++ ×1

c++11 ×1