Некорректно работает перегруженный оператор >>
У меня определен класс
#include <iostream>
class Place {
private:
string name;
string address;
string overview;
float range;
float trip_price;
float rating_from_users;
public:
Place()
{
name = "";
address = "";
overview = "";
range = 0;
trip_price = 0;
rating_from_users = 0;
}
friend istream &operator >> (istream &in, Place &Place)
{
rewind(stdin);
cout << "Name:\n";
in >> (Place.name);
cout << "Address:\n";
in >> (Place.address);
cout << "Overview:\n";
in >> (Place.overview);
cout << "Range\n";
in >> (Place.range);
cout << "Trip price\n";
in >> (Place.trip_price);
cout << "Rating from users\n";
in >> (Place.rating_from_users);
return in;
} перегрузка
Я пытаюсь ввести данные в класс
int main(){
int razmer = 1;
Place *place_array = new Place[1];
cin >> (place_array[razmer - 1]);
return 0;
}
Однако оператор срабатывает дважды и падает с ошибкой p.s ошибка Вызвано исключение: нарушение доступа для записи.
_Left было 0xB00000B.
Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно.