Название: Смешно спросить ) Отправлено: Денис от Октябрь 16, 2014, 14:01 Проблема в сравнении двух больших чисел. Пытаюсь проверить CRC32, когда приходит ошибочная сумма то появляется ошибка:
ASSERT: "uint(i) < uint(size())" in file C:\Qt\5.3\mingw482_32\include/QtCore/qbytearray.h, line 432 Invalid parameter passed to C runtime function. Invalid parameter passed to C runtime function. , вот что там находится: inline char QByteArray::at(int i) const { Q_ASSERT(uint(i) < uint(size())); return d->data(); } А вот что я сравниваю: Код: // Checking the crc32 вместо числа стояла функция возвращающая число, но даже это не хочет сравнивать, после этой строки ошибка Runtime to terminate и т.д. ? Может проблема в компиляторе ? Название: Re: Смешно спросить ) Отправлено: Igors от Октябрь 16, 2014, 14:40 А вот что я сравниваю: Не вижу как это связано с QByteArrayКод: // Checking the crc32 Название: Re: Смешно спросить ) Отправлено: Денис от Октябрь 16, 2014, 14:43 Вот и я понять не могу, как обычное сравнение может вызывать такую ошибку ?
Название: Re: Смешно спросить ) Отправлено: vulko от Октябрь 16, 2014, 15:23 на дебажном билде должен появится стэк вызовов, по которому рантайм попал в этот самый асерт.
ещё советую сделать clean, rebuild. Название: Re: Смешно спросить ) Отправлено: Bepec от Октябрь 16, 2014, 16:22 А ты приведи полный код. А не тот обрывок, в котором мы даже не знаем что такое crc32
Название: Re: Смешно спросить ) Отправлено: Денис от Октябрь 27, 2014, 19:21 на дебажном билде должен появится стэк вызовов, по которому рантайм попал в этот самый асерт. ещё советую сделать clean, rebuild. Спасибо, действительно почистить надо было ... но clean и rebuild не помогли, надо было залезть в папку и удалитьв ней скомпилированную программу с модулями в папку сборки ... Всем спасибо ! |