Поделиться через


Неустранимая ошибка C1001

ВНУТРЕННЯЯ ОШИБКА КОМПИЛЯТОРА(файл компилятора, номер строки)

Компилятор не может создать правильный код для конструкции, часто из-за сочетания определенного выражения и параметра оптимизации или проблемы при анализе. Если файл компилятора, указанный в списке, содержит сегмент пути UTC или C2, это, вероятно, ошибка оптимизации. Если файл имеет сегмент пути cxxfe или c1xx или msc1.cpp, это, вероятно, ошибка синтаксического анализа. Если имя файла cl.exe, нет других доступных сведений.

Часто можно устранить проблему оптимизации, удалив один или несколько вариантов оптимизации. Чтобы определить, какой параметр находится в ошибке, удалите параметры по одному за раз и перекомпилируйте до тех пор, пока сообщение об ошибке не исчезнет. Наиболее распространенными вариантами являются /Og (глобальные оптимизации) и /Oi (создание встроенных функций). Определив, какой вариант оптимизации отвечает, вы можете отключить ее вокруг функции, в которой возникает ошибка с помощью pragma оптимизации , и продолжить использовать этот параметр для остальной части модуля. Дополнительные сведения о параметрах оптимизации см . в рекомендациях по оптимизации.

Если оптимизация не несет ответственности за ошибку, попробуйте переписать строку, в которой сообщается ошибка, или несколько строк кода, окружающих указанную строку. Чтобы просмотреть код, как компилятор видит его после предварительной обработки, можно использовать параметр /P (Preprocess to a file).

Дополнительные сведения о том, как изолировать источник ошибки и как сообщить об ошибке внутреннего компилятора корпорации Майкрософт, см. в разделе "Как сообщить о проблеме с набором инструментов Visual C++".