crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Приложение падает после N-го повторения операций.
Trisch
  опции профиля:
сообщение 11.6.2014, 18:31
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


Вот упрощенный код программы:
#include <QList>

void f(QList<int> &list) {
    list.clear();

    for (int i = 0; i < 20; i++) {
        list << i;
    }
    f(list);
}

int main()
{
    QList<int> list;
    f(list);
    return 0;
}


программа завершается крахом.

В чем может быть причина ее падения? И как этого можно избежать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
lanz
  опции профиля:
сообщение 11.6.2014, 23:00
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

Спасибо сказали: 113 раз(а)




Репутация:   8  


Переполнение стека же.
Заменить на:
void f(QList<int> &list) {
  while(true) {
    list.clear();

    for (int i = 0; i < 20; i++) {
        list << i;
    }
  }
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 20:14