|
Dernière réponse | |
---|---|
Sujet : Question en C : Warning à la con | |
Autruche | moi g dit ca ??????????? :D |
Aperçu |
---|
Vue Rapide de la discussion |
---|
Autruche | moi g dit ca ??????????? :D |
joce |
|
deathsharp |
|
Autruche |
pffffff meme pa drole :lol: |
joce |
|
deathsharp | K
revoie les pointeurs, si t'arrive pas ou ke t'aime pas ca risque d'etre cho... bonne chance pour la suite ;) |
skylight |
|
rick@r | t'aurais pas oublier un ; a la fin de ta structure
struct ... { }; [:rick@r] |
deathsharp |
|
freewol |
|
gizmo |
|
skylight | mais si je declare N comme constante .. je poorai pas lui assigner une valeur par la suite ? |
freewol |
|
skylight | :cry: |
joce |
|
deathsharp |
|
joce | Parce que :
-Wwrite-strings Give string constants the type const char[length] so that copying the address of one into a non-const char * pointer will get a warning. These warnings will help you find at compile time code that can try to write into a string constant, but only if you have been very careful about using const in declara tions and prototypes. Otherwise, it will just be a nuisance; this is why we did not make `-Wall' re quest these warnings. |
skylight |
|
joce |
|
skylight | tu sais pas quelle version de gcc t'a ?
paske moi a l'école on a une version buggée .... genre int N=1; int Tablo[N]; et là, prootch, gcc t'envoie une grosse erreur pask'il veu pa ke tu déklare un tablo de dimension dynamique ... |
joce | oki j'ai compris, fallait mettre :
static struc cname { const char *name; char code; } |
skylight |
|
joce | crétaing :D
L'option de warning qui crée ca c'est : -Wwrite-strings |
ethernal | gcc --disable-warning prog
dsl ;) |
joce |
|
skylight | tu le declare ou ta structure ?
essaie de faire char name; sans le pointeur |
joce | J'ai la fonction suivante :
/* character-name table */ static struct cname { char *name; char code; } cnames[] = { {"NUL", '\0'}, {"SOH", '\001'}, {"STX", '\002'}, {"ETX", '\003'}, {"EOT", '\004'}, {"ENQ", '\005'}, {"ACK", '\006'}, {"BEL", '\007'}, {"alert", '\007'}, {"BS", '\010'}, {"backspace", '\b'}, {"HT", '\011'}, {"tab", '\t'}, {"LF", '\012'}, {"newline", '\n'}, {"VT", '\013'}, {"vertical-tab",'\v'}, {"FF", '\014'}, {"form-feed", '\f'}, {"CR", '\015'}, {"carriage-return", '\r'}, {"SO", '\016'}, {"SI", '\017'}, {"DLE", '\020'}, {"DC1", '\021'}, {"DC2", '\022'}, {"DC3", '\023'}, {"DC4", '\024'}, {"NAK", '\025'}, {"SYN", '\026'}, {"ETB", '\027'}, {"CAN", '\030'}, {"EM", '\031'}, {"SUB", '\032'}, {"ESC", '\033'}, {"IS4", '\034'}, {"FS", '\034'}, {"IS3", '\035'}, {"GS", '\035'}, {"IS2", '\036'}, {"RS", '\036'}, {"IS1", '\037'}, {"US", '\037'}, {"space", ' '}, {"exclamation-mark", '!'}, {"quotation-mark", '"'}, {"number-sign", '#'}, {"dollar-sign", '$'}, {"percent-sign", '%'}, {"ampersand", '&'}, {"apostrophe", '\''}, {"left-parenthesis", '('}, {"right-parenthesis", ')'}, {"asterisk", '*'}, {"plus-sign", '+'}, {"comma", ','}, {"hyphen", '-'}, {"hyphen-minus", '-'}, {"period", '.'}, {"full-stop", '.'}, {"slash", '/'}, {"solidus", '/'}, {"zero", '0'}, {"one", '1'}, {"two", '2'}, {"three", '3'}, {"four", '4'}, {"five", '5'}, {"six", '6'}, {"seven", '7'}, {"eight", '8'}, {"nine", '9'}, {"colon", ':'}, {"semicolon", ';'}, {"less-than-sign", '<'}, {"equals-sign", '='}, {"greater-than-sign", '>'}, {"question-mark", '?'}, {"commercial-at", '@'}, {"left-square-bracket", '['}, {"backslash", '\\'}, {"reverse-solidus", '\\'}, {"right-square-bracket",']'}, {"circumflex", '^'}, {"circumflex-accent", '^'}, {"underscore", '_'}, {"low-line", '_'}, {"grave-accent", '`'}, {"left-brace", '{'}, {"left-curly-bracket", '{'}, {"vertical-line", '|'}, {"right-brace", '}'}, {"right-curly-bracket", '}'}, {"tilde", '~'}, {"DEL", '\177'}, {NULL, 0}, }; A la compil, gcc m'envoie : cname.h:6: warning: initialization discards qualifiers from pointer target type cname.h:7: warning: initialization discards qualifiers from pointer target type cname.h:8: warning: initialization discards qualifiers from pointer target type cname.h:9: warning: initialization discards qualifiers from pointer target type cname.h:10: warning: initialization discards qualifiers from pointer target type cname.h:11: warning: initialization discards qualifiers from pointer target type <cut> Une idée de comment faire ca de manière propre pour dégager le warning qui me dérange un peu ? |