我正在尝试在2D char数组中输入一个字符串。这是我得到的错误。
error: cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘char’ in assignment
inputArray[i][j] = inputMessage;
答案 0 :(得分:1)
如果您想要一个完整的答案,您应该发布导致您麻烦的代码。
那就是说,看着这个错误,你似乎正在尝试做一些事情:
std::string inputMessage = "Some String";
char inputArray[100][1]; //Or whatever dimensions you have
for (int j = 0; j < 1; ++j) {
for (int i = 0; i < 100; ++i) {
inputArray[i][j] = inputMessage; //Error, can't assign a string to a single 'char'
}
这引发了类似的错误:
cannot convert 'std::string {aka std::basic_string<char>}' to 'char' in assignment
要更正此问题,您需要将inputMessage
的每个字符的值分配给inputArray
的字符:
std::string inputMessage = "Some String";
char inputArray[100][1];
for (unsigned int j = 0; j < 1; ++j) {
for (unsigned int i = 0; i < 100 && i < inputMessage.size(); ++i)
inputArray[i][j] = inputMessage[i];
}
答案 1 :(得分:0)
您可能正试图将std::string
插入char
数组中
首先,C字符串是char *
而不是简单的字符char
尝试使用c_str
。
myarray[0]=astring.c_str();