jibax Le 04/06/2002 à 17:33 en definnisant une fonction
void DrawBox(unsigned char (*ligne1),unsigned char (*ligne2),unsigned char (*ligne3));
et en l'utilisant comme ceci
DrawBox(" You win,", "go on with"," ")
j'ai l'avzertissement
passing arg1 of'DrawBox discards qualifiers from pointer target type
comment eviter cet avertissement
sans faire
unsigne char str1[]="gljzefhor"...;
Drawbax (str1,str2,str3);
dans l'IDE, tu clique sur Option, projet (ou le contraire)
dans la liste des switch de GCC (tu as, entre autre, -W -Wall) tu suprime celui qui contient le mot "string".
=> ça supprimera ce warning que je considére comme inutile.
ce n'est pas une erreur !
si y'a plus ce warning avec la dernière de TIGCC, je suppose que c parce que ce swith a été retiré de la liste des swithcs par défaut, non ?
Zeph Le 04/06/2002 à 18:29 Moué bon pr moi erreur-warning, j'aime pas quand il y en a.
Et non ces options n'ont pas été retirées de la liste par défaut je viens de vérifier... Je ne sais pas à quoi ça tient mais maintenant TIGCC ne me signale rien d'anormal.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
ben alors, ça doit venir :
soit de la nouvelle version de GCC
soit, c à mes yeux le plus probable, de l'IDE qui ne passe pas ce Warning... il est détecté, et supprimé de la liste des warnings... il me semble que c le cas pr celui qui est renvoyé par GCC qd tu met des chaînes sur plusieurs lignes...
=> pour en être certain, tu peux essayer sous interface DOS et non par l'IDE
les erreurs, de toute façon, tu compilera pas => il fa
ut les corriger...
les warnings...
ma fois...
certains sont à prendre en compte...
d'autres non.
c'est au programmeur de décider, avec l'expérience.
Zeph Le 04/06/2002 à 18:36 Mouais mais un warning à la compilation je trouve ça suffisament chiant pour ne pas continuer tant que je ne l'ai pas supprimé. Donc warning ou erreur, de toute façon ça me bloque de la même manière...

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ouais, moi aussi, je veux qu'à la compilation mon code n'ait pas de warning
Zeph Le 04/06/2002 à 18:40 Ouais mais ça ça ressemble à :
Comment virer une saletée dans un code en en ajoutant une encore plus grosse...
Quand je parle de supprimer une erreur, ça veut dire vraiment la supprimer sans magouiller dans les paramètres ou quoi que ce soit. Ça obligé parfois a recommencer des énormes portions de codes mais on y gagne toujours.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
qd je sais que ce que j'ai écrit est valable, et que le ppb vient du compilo, je v pas chercher pdt des heures !
suffit de traduite une ligne de C en ASM... ma fois, j'en suis capable (enfin, pr les trucs simples... ct le cas ici)
jibax Le 04/06/2002 à 21:06 merci pour les reponses
pour tigcc j'ai la beta14 et pas l'adsl donc ca me gave un peu de dowloader une nouvelle version qui n'apporterait pas gd chose...
mais de tt facon, squale a tout a fait raison, c un warning inutile !
1. Le warning est toujours là avec la dernière version de TIGCC. Et c'est normal qu'il y soit, sinon ça serait un bogue.
2. Le problème est simple: Tu n'as pas le droit de modifier les chaînes de caractères définies avec des "", donc tu as un warning si tu appelles une fonction qui pourrait les modifier. Et une fonction déclarée:
void DrawBox(unsigned char (*ligne1),unsigned char (*ligne2),unsigned char (*ligne3));
peut modifier les chaînes passées. Donc ce qu'il faut est:
void DrawBox(const unsigned char (*ligne1),const unsigned char (*ligne2),const unsigned char (*ligne3));
Si, il sert! Si on ne met pas de const, GCC ne pourra pas donner de warning à l'endroit où on modifie effectivement la chaîne de caractères si on le fait. C'est pourquoi il y a un warning dès l'endroit où l'information "const" est perdue.
moué...
en général, qd tu écris une fonction, tu fais qd même gaffe à ce que tu fais, non ?
PpHd Le 06/06/2002 à 13:18 Je trouve qu'il n'est pas totalement idiot ce warning. Il est meme fute.
D'ailleurs, les warnings ne sont générés que pour une raison: pour vous permettre de trouver d'éventuels problèmes dans votre code. S'il n'y a pas de problème, ne vous plaignez pas, ignorez le warning tout simplement!