只是从C ++开始。在处理数组和字符串时遇到错误:“数组初始化器必须是初始化器列表或字符串文字”。这是我的代码:
#include<string>
using namespace std;
bool feast(string beast, string dish){
int dishLn = dish.length();
bool elig;
char beastM[] = beast;
char dishM[] = dish;
elig = (beastM[0] == dishM[dishLn - 1]) ? true : false;
return elig;
}
我要做的是检查野兽字符串的第一个 char 是否等于的最后一个 char 菜串,然后输出 true ,否则输出 false 。因此,我将野兽字符串转换为 chars 的数组,然后检查 beast 和 dish < / em>。
但是我一直遇到这个错误。
错误对应于 char beastM [] 和 char dishM [] 。据我所知,该代码应该有效,因为 beast 和 dish 在函数参数中均以字符串形式给出。并将它们转换为char数组不是什么大问题。
感谢所有帮助。
干杯!
答案 0 :(得分:2)
您不能直接将字符串分配给char数组
bool feast(string beast, string dish){
bool elig;
elig = (beast.at(0) == dish.at(dish.length() - 1) ? true : false;
return elig;
}