繁体   English   中英

从 'char' 到 'const char*' 的无效转换 c++

[英]invalid conversion from ‘char’ to ‘const char*’ c++

我在第 6 行收到一条错误消息,提示“从 'char' 到 'const char*' 的转换无效”。这是我的代码:

#include <string>
using namespace std;
int main() {
   char data[] = "abcdefghi";
   string newData = data[0];
   return 0;
}

有人可以帮忙吗?

错误是因为std::string没有接受单个char作为输入的构造函数,但它确实有一个接受const char*的构造函数。

你有很多不同的方法来解决这个问题:

string newData(data, 1);
string newData(1, data[0]);
string newData(data, data+1);
string newData;
newData += data[0];
string newData;
newData.push_back(data[0]);
string newData;
newData.resize(1);
newData[0] = data[0];

字符串新数据=数据[0];

此行正在创建您将字符分配给字符串的问题。 这就是说无效转换。 你可以做这样的事情

string newData="";
newData+=data[0];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM