나는이 일을하고 때다른 객체 포인터를 사용하여 클래스의 인스턴스를 초기화하는 방법은 무엇입니까?
class Passenger;
class Reservation {
std::string coach;
int seat_number;
Passenger * traveller;
public:
Reservation (Passenger * pas, std::string coch, int seat);
void showReservation();
};
다음은이 오류를 표시하는 기능
Reservation::Reservation(Passenger * pas, string coch, int seat) : coach(coch), seat_number(seat) {
traveller = new Passenger(pas);
}
를 정의하는 코드가 있습니다.
*
대신 &
을 사용하면 작동합니다. pas
값을 가진 새로운 객체 여행자를 초기화하고 싶습니다. 그것을하는 방법?
오류가있는 작업은 다음과 같습니다 소유권을 표현하는 스마트 포인터를 사용하는 경우이 명확 할 수
는주? – Axalo
당신은'traveler = new Passenger (* pas);를 찾고 계십니까? 'Passenger * traveler;의 이유는 없습니다.'Passenger traveller'여야합니다. – Praetorian