Freigeben über


Compilerwarnung (Ebene 1) C4067

Unerwartete Token nach Präprozessordirektive – Zeilenvorschub erwartet.

Hinweise

Der Compiler hat zusätzliche Zeichen nach einer Präprozessordirektive gefunden und ignoriert. Dies kann durch unerwartete Zeichen verursacht werden, obwohl eine häufige Ursache ein streuendes Semikolon nach der Direktive ist. Kommentare verursachen diese Warnung nicht. Die /Za-Compileroption aktiviert diese Warnung für mehr Präprozessordirektiven als die Standardeinstellung.

Beispiel

Im folgenden Beispiel wird C4067 generiert:

// 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;
}

Um diese Warnung zu beheben, löschen Sie die streuenden Zeichen, oder verschieben Sie sie in einen Kommentarblock. Bestimmte C4067-Warnungen können durch Entfernen der /Za-Compileroption deaktiviert werden.

// 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;
}