9
votes

disparu ';' avant d'utiliser'

Je reçois cette erreur de compilation avec le code suivant:

Erreur C2143: Erreur de syntaxe: manquant ';' avant 'en utilisant' xxx

Comment cela est-il possible? Comment peut-il être corrigé?

c++

2 commentaires

Peut-être un problème avec s.h ? Pouvez-vous poster cela aussi?


Le message d'erreur le dit: Il y a un ";" avant d'utiliser. De toute évidence, il manque dans "s.h". Vous pouvez insérer le fichier entier au lieu de la directive #include à comprendre.


3 Réponses :


20
votes

"s.h" pourrait contenir une déclaration de classe qui n'a pas été terminée avec un ;

Lorsque vous incluez un en-tête, le prétraiteur C met des substituts du contenu de l'en-tête en ligne, de sorte que si vous regardez sh , vous trouverez probablement quelque chose à peu mobilisé par ; < / p>


0 commentaires

1
votes

L'erreur est dans votre s.h . En C ++, #include est uniquement un mécanisme d'insertion de texte, donc si la fin d'un fichier d'en-tête contient une erreur, vous pouvez obtenir l'erreur dans un fichier que #include s le fichier défectueux.


0 commentaires

1
votes

Il pourrait également être que le SH n'est pas un en-tête C ++ mais un en-tête C qui n'est pas déclaré externe c Essayez de remplacer votre xxx

avec xxx

Vous pouvez également résoudre ce problème dans le fichier d'en-tête lui-même.


0 commentaires