Que signifie l'erreur "Opérateur binaire manquant avant le jeton"?
J'ai récemment eu l'erreur suivante lorsque vous essayez de compiler avec gcc:
erreur: manquant opérateur binaire avant de jeton "("
Web et DONC des recherches est venu avec plusieurs exemples spécifiques de cette erreur, avec des changements de code à corriger. Mais je n'ai trouvé aucune description générale de ce que l'état de la cause de cette erreur sera émis.
Quand et pourquoi ne gcc émettent cette erreur?
source d'informationauteur AShelly
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas une erreur de compilation, c'est un préprocesseur d'erreur. Il semble se produire lorsque le préprocesseur rencontres syntaxe non valide, tout en essayant d'évaluer une expression dans un
#if
ou#elif
directive.Une cause commune est la
sizeof
opérateur dans un#if
directive:Par exemple:
C'est une erreur, car
sizeof
est évalué par le compilateur, pas la preprocesor.Type de distributions sont également pas valable préprocesseur syntaxe:
La les règles de ce qui peut l'être dans une expression valide sont ici.
Note également que
#if
permettra d'évaluer une macro non définie. 0, à moins qu'on dirait qu'il prend comme arguments, dans ce cas, vous également obtenir cette erreur:Donc si
THIS
est pas défini:Fautes de frappe dans votre
#
déclaration peut également provoquer ce message.