Bonjour,

J'étudie des nouvelles pistes (nouvelles pour moi hein )
L'idée est de cree des menu dans le terminal.
Pour faire cela, je dois passer des pointeurs sur des chaines de caractères.

Je defini donc les chaines comme globales
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
char *MaChaine[] = {"  1 = Menu 01",
                     "  2 = Menu 02",
                     "  3 = Menu 03",
                     "  4 = Menu 04"
                      };
je fais passer ces pointeurs comme pointeur de pointeur dans l'entête de mon fichier (menu.h), le prototype de la fonction est donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
;
;
extern void GetChar(byte *,char **,int);
.
.
.
Je passe donc un byte* pour recuperer le resultat, le char ** qui pointe sur mon tableau de pointeur, et le nombre déliements contenu dans mon tableau de pointeur int

Pour afficher mes chaines, depuis la fonction GetChar(), j'apelle une autre fonction donc la déclaration est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
void menu00( byte *,char **,int);
..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void menu00( byte *pEtatMenu,char** pMenu,int NbElements){
 for(int i=0;i<NbElements;i++){
    Serial.println(pMenu[i]);
  }
.....
}
Et dans cette fonction j'affiche les diverses chaine via les pointeur pMenu[i] avec le 'i' pour boucler sur tous les pointeurs.

Tous se passe bien, mais à la compilation j'ai les message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
                       };
Je comprend +/- l'erreur, j'ai défini mes chaines de caractère comme constante, et je suppose que je les affiche comme variable.

Mais comment lever cette erreur?

J'ai deja essaye des "trucs", avec des cast (const) un peu partout, mais il reste toujours des erreurs (pas toujours les même d’ailleurs.

Si quelqu'un pouvait éclairer ma lanterne....

Un grand merci

Bonne fêtes à tous

Michel