Partager via


Avertissement du compilateur (niveau 1) C4067

jetons inattendus suivants la directive de préprocesseur - attendu une nouvelle ligne

Notes

Le compilateur a trouvé et ignoré des caractères supplémentaires après une directive de préprocesseur. Cela peut être dû à des caractères inattendus, bien qu’une cause courante soit un point-virgule errant après la directive. Les commentaires ne provoquent pas cet avertissement. L’option du compilateur /Za active cet avertissement pour plus de directives de préprocesseur que le paramètre par défaut.

Exemple

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

Pour résoudre cet avertissement, supprimez les caractères errants ou déplacez-les dans un bloc de commentaires. Certains avertissements C4067 peuvent être désactivés en supprimant l’option du compilateur /Za .

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