错误 C1001

内部编译器错误(编译器文件 file,行 number)

编译器无法为构造生成正确的代码,通常是由于特定表达式和优化选项的组合或分析中出现的问题。 如果列出的编译器文件具有 utc 或 C2 路径段,则可能是优化错误。 如果文件具有 cxxfe 或 c1xx 路径段,或为 msc1.cpp,则可能是分析程序错误。 如果文件命为 cl.exe,则没有其他可用信息。

通常可以通过删除一个或多个优化选项来修复优化问题。 若要确定哪个选项出错,请逐个删除选项并重新编译,直到错误消息消失。 最常见的选项是 /Og (全局优化)/Oi (生成内部函数)。 确定有问题的优化选项后,可以在发生错误的函数周围使用 optimize pragma将其禁用,并继续对模块的其余部分使用该选项。 有关优化选项的详细信息,请参阅优化最佳做法

如果错误与优化无关,请尝试重写报告错误的行,或该行附近的几行代码。 若要查看编译器在预处理后看到的代码,可以使用 /P (预处理到文件)选项。

有关如何隔离错误源以及如何向 Microsoft 报告内部编译器错误的详细信息,请参阅如何报告 Visual C++ 工具集的问题