je dois compiler du C avec VC++. J'ai deja un projet qui compile sans
probleme. Malheureusement, pour le 2e, rien ne va plus (alors que les
parametres sont exactement les memes). Il me sort une erreur sur FILE
*history_file:
inout.c(25) : error C2275: 'FILE' : illegal use of this type as an
expression
J'ai verifier les code precompiler et FILE est correctement defini avant
dans le fichier.
Si qq1 a la moindre piste car la je seche un peu.
Mercille,
K.
PS: ce projet compile parfaitement sur Solaris avec gcc...
J'admets ne pas connaitre les suptilités de la chose, et je m'en excuse. Notons aussi que la déclaration de variables dans le code n'a rellement d'interet que pour appeler les constructeurs des classes...
Je parle de C en fait ici...
Ce que je dis, c'est qu'en C, mettre la declaration en debut de bloc, ou au milieu, ca change rien au code genere. En C++, y'a donc un incidence puisqu'il y a appel au constructeur eventuel d'une classe...
Je ne parle pas de respect de la norme ni de C++... Je m'interroge juste sur le fait de savoir si cl utilise bien le C89 ou C99. Pour moi il est assez evident qu'il utilise le C89 pour compiler du C puisqu'il n'accepte les declarations de variables uniquement au debut d'un bloc...
Non, il peut respecter le C99 sauf cette partie. La est mon propos. C'est pas parceque ce point la (declaration de variable en C n'importe ou dans le code) n'est pas supporté que d'autres de cette meme norme ne le seront pas... Donc on ne peut etre catégorique sur le fait que le non respect de ce point de la C99 fasse que Visual ne supporte pas un partie de la C99...
Rien a voir avec mon interrogation...;)
Je dirais que si mais j'espere m'etre mieux exprimé.
Doms.
Bonjour,
J'admets ne pas connaitre les suptilités de la chose, et je m'en
excuse. Notons aussi que la déclaration de variables dans le
code n'a rellement d'interet que pour appeler les constructeurs
des classes...
Je parle de C en fait ici...
Ce que je dis, c'est qu'en C, mettre la declaration en debut de bloc,
ou au milieu, ca change rien au code genere. En C++, y'a donc un incidence
puisqu'il y a appel au constructeur eventuel d'une classe...
Je ne parle pas de respect de la norme ni de C++...
Je m'interroge juste sur le fait de savoir si cl utilise bien le C89
ou C99. Pour moi il est assez evident qu'il utilise le C89 pour compiler
du C puisqu'il n'accepte les declarations de variables uniquement au
debut d'un bloc...
Non, il peut respecter le C99 sauf cette partie. La est mon propos.
C'est pas parceque ce point la (declaration de variable en C n'importe
ou dans le code) n'est pas supporté que d'autres de cette meme norme
ne le seront pas... Donc on ne peut etre catégorique sur le fait que
le non respect de ce point de la C99 fasse que Visual ne supporte
pas un partie de la C99...
Rien a voir avec mon interrogation...;)
Je dirais que si mais j'espere m'etre mieux exprimé.
J'admets ne pas connaitre les suptilités de la chose, et je m'en excuse. Notons aussi que la déclaration de variables dans le code n'a rellement d'interet que pour appeler les constructeurs des classes...
Je parle de C en fait ici...
Ce que je dis, c'est qu'en C, mettre la declaration en debut de bloc, ou au milieu, ca change rien au code genere. En C++, y'a donc un incidence puisqu'il y a appel au constructeur eventuel d'une classe...
Je ne parle pas de respect de la norme ni de C++... Je m'interroge juste sur le fait de savoir si cl utilise bien le C89 ou C99. Pour moi il est assez evident qu'il utilise le C89 pour compiler du C puisqu'il n'accepte les declarations de variables uniquement au debut d'un bloc...
Non, il peut respecter le C99 sauf cette partie. La est mon propos. C'est pas parceque ce point la (declaration de variable en C n'importe ou dans le code) n'est pas supporté que d'autres de cette meme norme ne le seront pas... Donc on ne peut etre catégorique sur le fait que le non respect de ce point de la C99 fasse que Visual ne supporte pas un partie de la C99...
Rien a voir avec mon interrogation...;)
Je dirais que si mais j'espere m'etre mieux exprimé.