PlatFormIo ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

Bonjour,
Débutant en C++ sur PlateFormIO avec un ESP32 j'ai plusieurs avertissements

ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

sur la ligne :

return ExecSetupMenu("Bipolar Setup", "Min I-base", "Max I-base", &MinIbase, &MaxIbase, 350, 50);

l'avertissement concerne le dernier paramètre "50"
La fct est définie comme suit :

bool ExecSetupMenu(char *str1, char *str2, char *str3, int *amin, int *amax, int valMax, int valInc) 

Si je comprends le message, je n'ai pas le droit de convertir une string constant en char*, par contre pour moi le 50 est un int et le paramètre qui lui correspond est un int également.

Pour info le programme fonctionne.

merci pour votre aide

Non...

les paramètres "Bipolar Setup", "Min I-base", "Max I-base" sont de types const char *. Dans la fonction vous dites que vous attendez des char *, sous entendant que la fonction peut modifier le contenu pointé. Le compilateur n'est pas d'accord puisque le texte d'origine ne peut pas être modifié.

il faut écrire

bool ExecSetupMenu(const char *str1, const char *str2, const char *str3, int *amin, int *amax, int valMax, int valInc)

Merci pour votre réponse,
J'ai été induit en erreur par le _ sur le 50.

Oui il faut parfois se méfier des warnings et bien lire tout le texte

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.