Alles rund um die Programmierung mit Qt
twessels
Beiträge: 18 Registriert: 28. Mai 2007 13:23
Kontaktdaten:
Beitrag
von twessels » 24. Dezember 2007 00:42
Hi,
ich glaube meine Qt4.3-Linux-Version hat einen Bug. Könnte es vielleicht mal kurz jemand testen? Weil unter Windows läufts ohne Probleme...
Code: Alles auswählen
#include <QCoreApplication>
#include <QBitArray>
int main( int argc, char **argv )
{
QCoreApplication app(argc, argv);
QBitArray ba(1);
ba.setBit(0,true);
ba.setBit(1,false);
if(ba.testBit(0) && !ba.testBit(1))
qDebug("they are unequal!");
return app.exec();
}
~/Desktop/bitarray$ ./bitarray
ASSERT: "i >= 0 && i < size()" in file /usr/include/qt4/QtCore/qbitarray.h, line 107
Aborted (core dumped)
Zuletzt geändert von
twessels am 25. Dezember 2007 15:28, insgesamt 1-mal geändert.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 24. Dezember 2007 08:35
Du gibst eine Größe von einem Bit vor und willst 2 Bit bearbeiten?
twessels
Beiträge: 18 Registriert: 28. Mai 2007 13:23
Kontaktdaten:
Beitrag
von twessels » 24. Dezember 2007 12:43
nein, das war nur ein Beispiel
statt
hätte ich auch
schreiben können. Es macht aber keinen Unterschied...
Falls du
meinst. Es erzeugt sehr wohl 2 Bits ba[0] und ba[1]
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
slash-ex
Beiträge: 239 Registriert: 30. März 2005 21:40
Beitrag
von slash-ex » 24. Dezember 2007 13:09
nein, eigentlich dürfte es nur ein bit erzeugen! am index 0....
manchmal stürzt das dann bei zugriffen auf den nächsten bereich ab, manchmal nicht... bei solchen primitiven speciher-strukturen fällt das nur nicht so sehr ins gewicht.
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 24. Dezember 2007 13:24
ASSERT: "i >= 0 && i < size()"
Man sollte halt mal die Fehlermeldung richtig lesen.
Und die Anwendung stürzt nicht ab, sie wird von der Qt-Bibliothek wegen einer ungültigen Operation beendet und zwar mittels Q_ASSERT...
twessels
Beiträge: 18 Registriert: 28. Mai 2007 13:23
Kontaktdaten:
Beitrag
von twessels » 25. Dezember 2007 15:28
Danke. Ihr hattet doch Recht, es lag an der Array-Größe.
Ich hatte jetzt schon öfters das Problem, dass das Kompilieren unter Linux schwerer fällt als unter Windows. gcc ist da wohl strikter eingestellt
so long...
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel