静态constexpr const char * a [] = {“foo”,“bar”}的VS 2015内部编译器错误

时间:2016-03-12 09:43:00

标签: c++ visual-studio-2015 compiler-bug

这编译好了:

static constexpr char* a[] = {"foo", "bar"};

这有内部错误(C1001)要求我关闭优化,任何想法为什么? https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k(C1001)&rd=true

static constexpr const char* a[]  = {"foo", "bar"};

这也编译:

static constexpr const char* const a[] = {"foo", "bar"};

编译的两个都没有一个可以通过索引访问的数组。

1 个答案:

答案 0 :(得分:0)

解决方案是提出一个解决方案,直到微软修复bug。 Constexpr似乎有一些问题需要在VS 2015更新2中修复。https://blogs.msdn.microsoft.com/vcblog/2015/12/02/constexpr-in-vs2015-update-1/ https://blogs.msdn.microsoft.com/vcblog/2015/12/01/visual-studio-2015-update-1-is-here/#comments