F
DerLernende schrieb:
Nachdem was ich über nullptr gelesen habe, müsste folgende Anfrage funktionieren:
if (qrpCubes[Laststop].prefix.clptr != nullptr) {
Mit g++ kompiliert das Programm zwar, bei der Ausführung bricht es aber genau an jener Stelle ab. Ich nehme also an, dass irgendetwas nicht definiert ist.
Ja, nachdem ich jetzt zumindest mal ein paar Konstruktoren von Reason gesehen habe (besser ganze Klasse posten), und weiss,
dass es sich um ein union handelt, würde mir mein Bauchgefühl auch sagen dass man so auf "leer" testen kann, wenn Reason nicht
ohnehin eine is_empty() -Methode oder ähnliches anbietet (trotzdem nur eine Vermutung!).
Wenn das Programm an dieser Stelle abbricht, solltest du versuchen mit einem Debugger herauszufinden warum das so ist.
Leider weiss ich nicht was qrpCubes ist, da dein geposteter Code immer noch sehr dürftig ist, ich würde jedoch darauf tippen,
dass das Programm abbricht, weil qrpCubes kein Element an Index Laststop hat.
Führ das mal im Debugger aus (Google ist dein Freund wenn du sowas noch nicht gemacht hast). Setze einen Breakpoint an der
fragwürdigen Zeile und schau dir mal an was da genau passiert (welchen Wert hat Laststop ? gibt es überhaupt ein qrpCubes[Laststop] ?
Ist prefix.clptr == nullptr überhaupt das was du unter "leer" verstehst und was du testen möchtest? Hast du vielleicht in Wirklichkeit ein ganz anderes Problem?)
Viel mehr kann ich dir da leider auch nicht helfen. Fremden, undokumentierten Code zu verstehen lernt man durch Erfahrung - wenn du allerdings noch nachlesen musst,
was nullptr bedeutet (!), dann hast du da noch einiges vor dir. Vielleicht solltest du erstmal daran arbeiten etwas fließender C++ zu sprechen und zu verstehen (?).
Gruss,
Finnegan