Ошибка отладочного подтверждения: _CrtIsValidHeapPointer (pUserData)
Sometimes Я получаю это «Отладочное утверждение не выполнено» ошибка при запуске моего проекта Qt в режиме отладки (образ). I don't know where I wrong because the compiler says nothing and I don't know what to do to find my error.
Я программирую под Windows Vista, используя Qt Creator 2.4.1, Qt 4.8.1.
Моя программа должна прочитать некоторые данные с лазерного устройства и сохранить их в файл с кодом, подобным следующему:
void runFunction()
{
configure_Scanning(...);
while(...)
{
// do something
scanFunction();
// do something
}
}
и это мой "инкриминированный" функция (где я думаю, что проблема)
void scanFunction()
{
file.open();
data = getDataFromDevice();
if(flag)
{
if(QString::compare(lineB,"")!=0)
{
QTextStream out(&file);
out << lineB << endl;
lineB = "";
}
lineA.append(data+"\t");
}
else
{
if(QString::compare(lineA,"")!=0)
{
QTextStream out(&file);
out << lineA << endl;
lineA = "";
}
lineB.prepend(data+"\t");
}
file.close();
}
кудаlineA а такжеlineB изначально два недействительных QString: идея состоит в том, что я делаю двунаправленное сканирование для сохранения информации в 2D матрице (от -X до + X и наоборот, пока Y переходит к указанной цели).lineA запоминает чтение от (-) до (+);lineB запоминает чтение от (+) до (-). Когда направление сканирования меняется, я пишуlineA (или жеlineB) в файл, и я продолжаю сканирование.
Вы понимаете, что я сказал? Не могли бы вы предложить мне решение?
Спасибо и извините за мой английский: P