Udostępnij za pośrednictwem


Błąd krytyczny C1001

WEWNĘTRZNY BŁĄD KOMPILATORA (plik pliku kompilatora, numer wiersza)

Kompilator nie może wygenerować poprawnego kodu dla konstrukcji, często ze względu na kombinację określonego wyrażenia i opcji optymalizacji lub problem podczas analizowania. Jeśli wymieniony plik kompilatora ma segment ścieżki utc lub C2, prawdopodobnie jest to błąd optymalizacji. Jeśli plik ma segment ścieżki cxxfe lub c1xx lub jest msc1.cpp, prawdopodobnie jest to błąd analizatora. Jeśli plik o nazwie jest cl.exe, nie ma żadnych innych dostępnych informacji.

Często można rozwiązać problem z optymalizacją, usuwając co najmniej jedną opcję optymalizacji. Aby określić, która opcja jest wadliwa, usuń opcje pojedynczo i ponownie skompiluj, dopóki komunikat o błędzie nie zniknie. Opcje najczęściej odpowiedzialne to /Og (optymalizacje globalne) i /Oi (Generowanie funkcji wewnętrznych). Po ustaleniu, która opcja optymalizacji jest odpowiedzialna, można ją wyłączyć wokół funkcji, w której występuje błąd przy użyciu optymalizacji pragma, i nadal używać opcji dla pozostałej części modułu. Aby uzyskać więcej informacji na temat opcji optymalizacji, zobacz Optymalizacja najlepszych rozwiązań.

Jeśli optymalizacje nie są odpowiedzialne za błąd, spróbuj ponownie przepisać wiersz, w którym jest zgłaszany błąd, lub kilka wierszy kodu otaczającego ten wiersz. Aby wyświetlić kod w taki sposób, w jaki kompilator widzi go po wstępnie przetworzyniu, możesz użyć opcji /P (Wstępne przetwarzanie do pliku).

Aby uzyskać więcej informacji na temat sposobu izolowania źródła błędu i sposobu zgłaszania wewnętrznego błędu kompilatora do firmy Microsoft, zobacz Jak zgłosić problem z zestawem narzędzi Visual C++.