Некорректно работает перегруженный оператор >>

У меня определен класс

#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.

Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно.


Ответы (0 шт):