Bonjour,
J'utilise une fonction, issue d'une biblitothèque, qui prend comme argument un pointeur sur un tableau C.
La valeur avec laquelle je veux appeler la fonction est un tableau de chaînes de caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void laFonction(char* arg[]) { }
Dès, lors deux manières de l'initialiser :
Si j'utilise la première, ça râle au niveau de la fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 const char* mesValeurs[] = {"a","b","c"}; char* mesValeurs[] = {"a","b","c"};
Si j'utilise la seconde, gcc m'envoie des avertissements du type :
Il faudrait donc que je déclare en const, et que fasse un const_cast dans l'appel de la fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part deprecated conversion from string constant to char* [-Wwrite-strings]
Mais je n'arrive pas à trouver la syntaxe dans le cas d'un tableau...
PS : je sais que la fonction ne modifie pas le tableau ; mais je ne peux pas modifier sa signature (biblitothèque externe)
Partager