Разобрать объекты в неинициализированную переменную char junk

Cevelop возражает против char junk как «неинициализированная переменная». Как правильно решить проблему в этом случае?

введите описание изображения здесь

 friend std::ostream& operator<<(std::ostream& os_a, College& college_a) {
return os_a <<  college_a.id_ + ' ' + college_a.name_;
}

friend std::istream& operator>>(std::istream& is_a, College& college_a) {
char junk;
return is_a >> college_a.id_ >> std::noskipws
>> junk, std::getline(is_a, college_a.name_);  // name: between 1st space and endofline.
}

1

Решение

У вас есть два варианта, вы можете инициализировать junk к чему-то, или вы можете просто избавиться от этого. Так как вы знаете, вам нужно съесть только место, которое вы и использовать get лайк

return is_a >> college_a.id_, is_a.get(), std::getline(is_a,college_a.name_);

и он будет делать то же самое. Вы также можете сделать код немного проще для чтения с

is_a >> college_a.id_;
is_a.get();
std::getline(is_a,college_a.name_);
return is_a;
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector