2016-12-24 39 views
-5

我正在寫一個使用密碼進行加密的函數。我得到一個單一的錯誤代碼,指出字符串字符不能轉換爲字符。我不知道如何解決這個問題。該錯誤位於else語句的第二行。不能將<string>字符轉換爲字符

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

什麼是實際的錯誤信息? – melpomene

+0

'key [j] = words [index];' - 這條線上的意圖是什麼?你是否失去了「鑰匙」和「單詞」的蹤跡? – PaulMcKenzie

+0

這是哪一個? ' char'? '字符串字符'?也許'字符串'? – EJP

回答

4

該錯誤是在這條線:

key[j]=words[index]; 

key

std::string key; 

因此,key[j]charwords

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

因此,words[index]std::string

您不能將std::string分配給char。 C++不能以這種方式工作。您的代碼等同於以下內容:

char a; 
std::string b; 

a=b; 

目前尚不清楚你的意圖是什麼在這裏,但是,無論如何,這解答了爲什麼你得到一個編譯錯誤。