только что начал с 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;
}
Что я хочу сделать, это проверить, равен ли первый символ из строки зверя последнему символу из строки блюда , затем выведите true , иначе false .Поэтому я конвертирую строку зверя в массив из символов , а затем проверяю их первый элемент для обоих beast и dish .
Но я продолжаю сталкиваться с этой ошибкой.
Ошибка соответствует char beastM [] и char dishM [] .Насколько мне известно, этот код должен работать, так как beast и dish представлены в виде строк в параметрах функции.И преобразование их в массив символов не должно быть большой проблемой.
Вся помощь приветствуется.
Приветствия!