【问题标题】:Cannot convert <string>char to char无法将 <string>char 转换为 char
【发布时间】:2016-12-24 00:24:45
【问题描述】:

我正在编写一个函数来使用密码进行加密。我收到一个错误代码,指出无法将字符串 char 转换为 char。我不知道如何解决这个问题。错误在 else 语句的第二行。

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

【问题讨论】:

  • 实际的错误信息是什么?
  • key[j]=words[index]; -- 你在这条线上的意图是什么?您是否忘记了 key 是什么以及 words 是什么?
  • 它是什么? &lt;string&gt;char? string char?也许string&lt;char&gt;
  • 字符串 char 无法转换为 char。我不知道如何解决这个问题。 -- 您不能将字符串转换为字符,这对您来说应该很明显,即您不能将“abc”转换为单个字符。所以唯一知道“如何解决这个问题”的人就是你自己,因为你应该知道在那条线上你应该做什么。

标签: c++ stl char


【解决方案1】:

错误在这一行:

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;

目前尚不清楚您的意图是什么,但无论如何,这回答了您收到编译错误的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多