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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]SIGSEGV при вызове QList::append()  (Прочитано 3122 раз)
Blackwanderer
Гость
« : Апрель 12, 2011, 14:37 »

Есть следующий список:
Код
C++ (Qt)
       struct Rib
       {
           Rib(int point1, int point2, int rib, int triangle)
           {
               begin = point1;
               end = point2;
               twin = rib;
               neighbour = triangle;
               local = -1;
           }
 
           int begin;
           int end;
           int twin;
           int local;
           int neighbour;
       };
       QList<Rib> m_Ribs;
При выполнении следующей команды
Код
C++ (Qt)
m_Ribs.append(Rib(point1, point2, *rib2, -1));
где point1=149, point2=92, *rib2=41905 получаю SIGSEGV на строчке
Код
C++ (Qt)
if (QTypeInfo<T>::isLarge || QTypeInfo<T>::isStatic) n->v = new T(t);
которая находится в недрах QList::append. В списке уже находится 41905 элементов. В чем может быть причина?

Компилятор - MinGW, режим отладки. Qt 4.7.2

Update
CDB выдает "Stack overflow"
« Последнее редактирование: Апрель 12, 2011, 16:38 от Черный Странник » Записан
twp
Гость
« Ответ #1 : Апрель 12, 2011, 15:14 »

скорей всего причина где-то в другом месте, может имеет место рекурсия
Записан
Blackwanderer
Гость
« Ответ #2 : Апрель 12, 2011, 15:17 »

может имеет место рекурсия
Есть, и судя по всему достаточно глубокая.
Update
Думаю, проблема найдена. Что-то сработало неправильно и программа впала в бесконечную рекурсию.
« Последнее редактирование: Апрель 12, 2011, 15:26 от Черный Странник » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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