Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
nieoczekiwane tokeny po dyrektywie preprocesora — oczekiwano nowego wiersza
Uwagi
Kompilator znalazł i zignorował dodatkowe znaki zgodnie z dyrektywą preprocesora. Może to być spowodowane przez nieoczekiwane znaki, choć częstą przyczyną jest bezpańskie średnik po dyrektywie. Komentarze nie powodują tego ostrzeżenia. Opcja /Za kompilatora włącza to ostrzeżenie dla większej liczby dyrektyw preprocesora niż ustawienie domyślne.
Przykład
Poniższy przykład generuje kod C4067:
// C4067a.cpp
// compile with: cl /EHsc /DX /W1 /Za C4067a.cpp
#include <iostream>
#include <string> s // C4067
#if defined(X); // C4067
std::string s{"X is defined"};
#else
std::string s{"X is not defined"};
#endif; // C4067 only under /Za
int main()
{
std::cout << s << std::endl;
}
Aby rozwiązać to ostrzeżenie, usuń bezpańskie znaki lub przenieś je do bloku komentarzy. Niektóre ostrzeżenia C4067 mogą być wyłączone przez usunięcie opcji /Za kompilatora.
// C4067b.cpp
// compile with: cl /EHsc /DX /W1 C4067b.cpp
#include <iostream>
#include <string>
#if defined(X)
std::string s{"X is defined"};
#else
std::string s{"X is not defined"};
#endif
int main()
{
std::cout << s << std::endl;
}