Я работаю над проектом и мне нужно проверить одну из переменных члена моего класса, чтобы убедиться, что пользователь действительно ввел строку.
Я также пытался использовать (patronName == '') и (patronName == ""), но не повезло.
Редактировать: Использование "\ n" исправляет ошибку, но программа завершается, не позволяя пользователю ввести имя.
std::string Restaurant::getPatronName()
{
bool controlFlag = true;
do
{
getline(std::cin,patronName);
if ((std::cin.fail()) || (patronName == '\n'))
{
std::cout << "You must enter a name!" << std::endl;
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
else
{
controlFlag = false;
}
} while (controlFlag);
return patronName;
}
Функция должна прочитать и сохранить имя, введенное пользователемв patronName.При попытке собрать, я получаю сообщение об ошибке «нет соответствия для оператора ==».Может быть, это потому, что объект, вызываемый в main, является указателем типа Restaurant?