ISO C90 interdit mixte déclarations et le code en C

J'ai déclaré une variable de cette façon:

int i = 0;

- Je obtenir de l'avertissement:

ISO C90 interdit mixte déclarations et le code

Comment puis-je résoudre ce problème?

  • Ça sonne comme du CCG -pedantic ou -std=c89, dans ce cas, vous pouvez compiler avec -std=gnu99 si vous le souhaitez.
  • Si vous utilisez gcc, vous pouvez indiquer l'utilisation du C99 qui permet mixte déclarations et le code (drapeau -std=c99).
  • Une option serait d'arrêter la compilation d'une norme de 22 ans dont le remplacement a été remplacé.
  • Pour répondre à votre commentaire dans ma réponse (maintenant supprimé): non, C99 a en effet introduit mêlé déclarations: la déclaration de la variable n'est plus limité à la portée du fichier ou le début d'une instruction composée (bloc). Je me demande, cependant, pourquoi devez-vous utiliser C90-compilateur?
  • s'il vous plaît dites Microsoft qui. 🙂
  • Microsoft n'a aucun intérêt dans l'expédition d'un compilateur C; qui ne changera probablement pas. Heureusement, il existe un certain nombre de très bonnes compilateurs ciblant la plate-forme fournie par d'autres fournisseurs.

InformationsquelleAutor | 2012-11-08