Seite 1 von 1

[gelöst] Q_ASSERT und connect

Verfasst: 6. März 2019 10:40
von bobcat
Ich habe einen connect mit einem Q_ASSERT eingepackt:

Code: Alles auswählen

Q_ASSERT(connect(...);

Das schlägt fehl, es wurde keine Verbindung zwischen Signal und Slot aufgebaut. Wenn ich das Q_ASSERT weglasse, dann klappt der connect. Bzw. man macht korrekterweise folgendes:

Code: Alles auswählen

bool success = connect(...);
Q_ASSERT(success)
Ich habe hier den Hinweis gefunden, dass Q_ASSERT mit connect keine gute Idee ist:
https://www.kdab.com/slot-not-invoked/
Mein Code läuft jetzt; mich würde nur interessieren warum. Versteht das jemand?

Re: Q_ASSERT und connect

Verfasst: 6. März 2019 13:16
von hilefoks
Moin,

im Release-Build wird das gesamte Q_ASSERT nicht ausgeführt - praktisch existiert der Ausdruck dann nicht in deinem Programm.

MfG
Hilefoks