2017-10-16 37 views
-3

Je suis vraiment confus parce que je continue d'obtenir cette erreur. J'essaie de soustraire deux caractères comme "c" - "a" = 2 en fonction de leurs valeurs ASCII mais je continue à frapper des erreurs peu importe ce que je fais (j'essayais des choses différentes depuis plus d'une heure). S'il vous plaît aidez-moi ou clarifiez ce que je fais qui est incorrect.Opérandes invalides des types char et const char [2] à l'opérateur binaire

char vigenere_letter (char plain_text, char key_letter) { 
    int rotation; 
    string new_alphabet; 
    rotation = plain_text - "a"; 
    new_alphabet = rotate_left(rotation, alphabet); 
} 
+0

' "un"' est un chaîne, pas un char. Vous voulez '' a '' – Steve

+0

Vouliez-vous écrire 'rotation = plain_text -' a '; 'à la place? – user0042

+0

merci une tonne les gars! assez embarassé à propos de celui-ci! –

Répondre

0

que vous vouliez écrire rotation = plain_text - 'a';

"a" est un char* (une "chaîne", des caractères multiples), tandis que 'a' est un seul caractère (un char)

+0

Comme l'indique le message d'erreur, '" a "' est un 'const char [2]', pas un 'char *'. – melpomene

+0

Vous êtes les bienvenus, comme vous êtes nouveau ici, vous pouvez lire ceci: https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – jpo38