У меня есть массив указателей, которые должны удерживать расположение памяти других объектов. Добавление массивов в список2 и печать значения из этого объекта дает мне правильное значение. Но попытка попытаться распечатать его из другой функции даст мне случайные значения.C++ Указатели переустановки, назначенные пошаговой ссылке, дающие случайные значения
Классы:
class Airline() {
Airline();
Flight *list2[20]; //array of pointers to Flight
};
class Flight() {
int flightNo;
int MaxPeople;
};
Добавить функцию Flight:
currentPos1 =-1 //Global Variable
void Airline::addFlight(Flight flight) {
currentPos1++;
list2[currentPos1] = &flight;
cout <<(*list2[currentPos1]).flightNo <<"\n"; //Gives proper Value
}
ShowAllFlights функции:
void AirDB::showAllFlights() {
for (int i = 0; i <= currentPos1; i++)
{
//Both cout's provide random values;
cout <<"\nFlight Number: " <<list2[i]->flightNo;
cout <<"\nMaxPeople: " << list2[i]->maxPeople;
}
}
ли мой реферирование и де-ссылки здесь не так? Любая помощь будет очень оценена.
Комментарий '// массив указателей на указатели' должен читать' массив указателей на Flight'. Полет не является указателем. –