私はポインター m_room を取ります (クラス ServicePage の Room *m_room、updateRoom と addService 関数はここにあります)
void ServicePage::updateRoom(QString _text)
{
m_room = m_reservation->findRoom(_text.toInt());
qDebug()<<m_room;
qDebug() << m_room->m_idRoom;
}
から
Room *Reservation::findRoom(int _id)
{
QVector<Room>::iterator iterator;
for(iterator = mv_addRooms.begin(); iterator != mv_addRooms.end(); iterator++)
if(iterator->m_idRoom == _id)
{
qDebug()<<_id;
Room _temp = *iterator;
return &_temp;
}
return null;
}
そして、qDebug の後の回答は問題ありませんが、後で別の関数で qDebug の回答を取得すると、次のようになります。
bool ServicePage::addService()
{
qDebug()<<m_room;
qDebug()<<m_room ->m_idRoom;
return true;
}
m_room は先ほどと同じですが、m_room->m_idRoom が違う値(ランダム値)を返すのはなぜですか?
ご提案ありがとうございます。