2016-12-24 2 views
-5

Я пишу функцию для шифрования с использованием криптограммы. Я получаю один код ошибки, который указывает, что строковый символ не может быть преобразован в char. Я не уверен, как это исправить. Ошибка во второй строке в инструкции else.Не удается преобразовать <string> char в char

   else 
       { 
        index=letter-96; 
        key[j]=words[index]; 
       } 
+4

Какое сообщение об ошибке? – melpomene

+0

'key [j] = words [index];' - Каково ваше намерение в этой строке? Вы потеряли информацию о том, что такое «ключ» и что такое «слова»? – PaulMcKenzie

+0

Что это? ' char'? 'string char'? возможно 'string '? – EJP

ответ

4

Ошибка в этой строке:

key[j]=words[index]; 

key является

std::string key; 

Поэтому key[j] является char. words является

std::vector<std::string> words; 

Поэтому words[index] является std::string.

Вы не можете назначить std::string на номер char. C++ не работает таким образом. Ваш код эквивалентен следующему:

char a; 
std::string b; 

a=b; 

Это не ясно, что ваша цель здесь, но, во всяком случае, это отвечает, почему вы получаете сообщение об ошибке компиляции.

Смежные вопросы