Russian Qt Forum
Ноябрь 25, 2024, 06:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]Ошибка Invalid parameter passed to C runtime function.  (Прочитано 9359 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Сентябрь 19, 2013, 14:28 »

Не могу отловить ошибку через дебаг
Код:
ASSERT: "d" in file d:\QtSDK\Desktop\Qt\4.7.3\mingw\include/QtCore/qscopedpointer.h, line 112
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
C:\Users\MyMTLYNX-build-desktop\debug\MyMTLYNX.exe завершился с кодом 3

Проблема вот в этом коде:
Код
C++ (Qt)
void TreeModelBrowser::updateModelRemoveRow(QModelIndex index)
{
if(index.isValid())
   {
       int row = index.row();
       beginRemoveRows(index,row,row);
       CommonElement *ce = reinterpret_cast<CommonElement*>(index.internalPointer());
       qDebug()<<"ce = "<<ce;
       delete ce;
       endRemoveRows();
   }
}
 
но, что не правильно не могу понять Непонимающий
« Последнее редактирование: Сентябрь 20, 2013, 14:16 от demaker » Записан
mutineer
Гость
« Ответ #1 : Сентябрь 19, 2013, 14:33 »

beginRemoveRows(index,row,row);
Ты тут говоришь что удаляешь строку row у парента index, а по факту никаких строк не удаляешь, а удаляешь объект по указателю внутри index
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #2 : Сентябрь 19, 2013, 14:37 »

Блин точно
Вот так надо
Код
C++ (Qt)
...        
beginRemoveRows(index.parent(),row,row);
...
 
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.149 секунд. Запросов: 23.