Qt zwolnienie pamięci, błąd programu

0

Dzień Dobry!
mam taki mały problem z qt, pokażę kod i wszystko się rozjaśni:

void MainWindow::showAboutProgram(){
    infoWindowProgram = new infoWindow("bla bla.");
    infoWindowProgram->setWindowTitle("bla bla");
    infoWindowProgram->exec();
//    delete infoWindowProgram;    // w jeżeli skompiluję z tą linijką o po zamknięciu okna jest błąd programu
}

Chodzi o usunięcie pamięci, tak jak w komentarzu jeżeli będzie ta linijka to program się zawiesza po zamknięciu okna, jeżeli jej nie ma wszystko działa ok, gdzie może być problem? Przecież jeżeli nie zwolnię pamięci to będzie wyciek : d

Z góry dziękuję za pomoc : )

2

pokażę kod i wszystko się rozjaśni
No jednak nie wszystko.

Nie wiadomo co to jest MainWindow, czy jego destruktor przypadkiem nie woła delete, bo infoWindowProgram to nie jest lokalna zmienna.
Nie wiadomo też co to jest infoWindow.

0

QInfoWindow to klasa która dziedziczy po QDialog.
Twoja odpowiedź mi pomogła znaleźć błąd przejrzałem destruktor klasy QInfoWindow i tam usuwam obiekty dynamiczne, ale usuwałem je też w funkcji zamykającej okno z przycisku, czyli próbowałem 2x zwolnić tą samą pamięć jak zamykałem okno przyciskiem (jak zamykałem X to wywoływał się tylko destruktor) po wywołaniu funkcji zamykającej okno wywoływał się destruktor, i chciał zwolnić jeszcze raz pamięć z tego wynikał błąd.
Dziękuję za pomoc : )

0

Naucz się korzystać z debuggera!

1 użytkowników online, w tym zalogowanych: 0, gości: 1