【发布时间】:2021-01-18 04:29:18
【问题描述】:
有代码
#include <array>
struct Foo {
int bar;
};
int main() {
constexpr auto v = std::array{Foo{}};
return 0;
}
使用 C++17 编译时:
致命错误 C1001:内部编译器错误。 ...(编译器文件“msc1.cpp”,第 1591 行) “C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86\CL.exe”中的内部编译器错误
但这 - 编译
#include <array>
struct Foo {
int bar;
};
int main() {
constexpr std::array<Foo, 1> v{Foo{}};
return 0;
}
按照here 的描述禁用所有优化
这是编译器错误吗?
【问题讨论】:
-
我会说内部编译器错误始终是一个错误,即使导致它的代码无效。
标签: c++ visual-c++