Я пытаюсь закончить свою лабораторию, однако я не знаю, как выделить память для строки. Поэтому я продолжаю получать ошибку warning: ‘_name’ is used uninitialized in this function [-Wuninitialized]
Как перегрузить cin и использовать getline
Я также не понимаю, если моя линия getline
верна.
std::istream& operator>>(std::istream& is, Grade& RO){
int _mark;
char* _name;
std::cout<<"Subject name: ";
is.ignore();
is.getline(_name, (strlen(_name) + 1));
std::cout<<"Mark :";
is>> _mark;
RO=Grade(_name, _mark);
return is;
}
Используйте 'std :: string', а не' char * '. – emlai
И уделять больше внимания в классе. –
Измените '_name' на' std :: string' и используйте 'std :: getline()' вместо 'is.getline()'. –