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

Résolu
flateur18
Messages postés
36
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
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
- 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

14 réponses

flateur18
Messages postés
36
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
4 décembre 2014

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
3