Warning: deprecated conversion from string constant to ‘char*’

Résolu
flateur18 Messages postés 35 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 4 décembre 2014 - 19 nov. 2009 à 13:55
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 20 nov. 2009 à 15:51
Bonjour à tous,

j'ai réalisé un programme gcc qui se compile parfaitement, or j'ai des "warning" que je souhaiterais supprimer.

celui qui m'énerve mad le plus (façon de parler big_smile) c'est :

15 : warning: deprecated conversion from string constant to ‘char*’

ma ligne de code est :


Code:

char *test[4] = { "A1", "A2", "A3", NULL };



j'ai compris (à priori) que ma fonction demande un pointeur vers un char non constant,
j'ai donc essayé de faire :


Code:
[b]
const char *test[4] = { "A1", "A2", "A3", NULL };/b



et là mon programme ne se compile plus yikes


Quelqu'un peut m'aider à enlever le warning svp !!!

Merci d'avance
A voir également:

14 réponses

flateur18 Messages postés 35 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 4 décembre 2014 1
20 nov. 2009 à 10:26
J'ai trouvé !!!

il faut utiliser le tableau de "const char *".

Tel quel ça provoque une erreur à la compilation (conversion de "const char **" à "char **" impossible).

Pour résoudre ceci, j'ai utilisé un "const_cast<char**>(test)" à la place de test dans l'appel de fonction.

const char *test[4] = { "A1", "A2", "A3", NULL };

Mon_bouton =
    new puButtonBox (10, 90, 10, 15, const_cast<char**>(test), TRUE); 


et là plus de warning et je compile.


Merci à tous
1
Rejoignez-nous