Réponse acceptée !
C'est normal. Tu compares une chaîne de caractère avec un caractère. Exemple: "A" est une chaine de caractère, et 'A' est un caractère.
const char* s = {'A', 'B', 'C', 'D', '\0'}; est équivalent à: const char* s = "ABCD"; C'est de là que vient ton erreur, car ton "const char* tabs[]" est un tableau contenant des chaînes de caractères dans chacune des ses cases.
Plusieurs solutions: * Utilise '' pour un caractère et non "". const char* tabs = { 'A', 'B', 'C', 'D', 'E', 'F', [..] 'A', 'B', 'C', 'D', 'E', 'F' } ;
OU
* Déréférence le pointeur lors de la comparaison (moche): if (*(alphabet[b]) == Msg[a])
Enfin, vu que tu es en C++, oublie les const char* au profit des std::string bien mieux adapté.
|