Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
SEVI
31 / 30 / 0
Регистрация: 26.01.2010
Сообщений: 124
Записей в блоге: 1
#1

"Stack overflow" как обойти? - C++

27.01.2014, 00:17. Просмотров 1417. Ответов 40
Метки нет (Все метки)

Доброго времени суток!
Дело в том, что при объявлении массива размером 106
C++
1
int a[1000000];
выскакивает при запуске (после компиляции даже) stack overflow, еще до того как туда будут заноситься элементы. Дебаггер указывает именно сюда... Тем более если сделать 105, то все работает... Прошу объяснить как это обойти... Заранее спасибо.
Вот весь код (без кода функции двоичной сортировки quickSortR)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    int n, k, i, s=0;
    int a[100000];
    ifstream f1("E.dat");
    ofstream f2("E.sol");
    f1 >> n >> k;
    for (i = 0; i < n; i++) {
        f1 >> a[i];
    }
    quickSortR(a,n-1);
    for (i = k; i < n; i++) {
        s = s + a[i];
    }
    f2 << s;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 00:17     "Stack overflow" как обойти?
Посмотрите здесь:

Как отследить ошибку "Stack around the variable was corrupted."? C++
"Stack around the variable 'a' was corrupted" при выводе содержимого файла на экран C++
C++ Быстрая сортировка: ошибка "Stack overflow"
C++ Ошибка "pow() overflow error"
Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun" C++
C++ Ошибка "stack overflow". Разложение функции в ряд Тейлора
C++ Ошибка "Stack around the variable 'a' was corrupted" при завершении программы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 21:16     "Stack overflow" как обойти?
Еще ссылки по теме:

C++ Ошибка: "stack.exe has stopped working"
C++ Чтение файла с данными типа real. Тип real в билдере или как его "обойти"?
Sos! Записать класс Stack в файл, "крашит" C++
C++ Предупреждение компилятора "integer overflow in expression"
Ошибка "pow : OVERFLOW error" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
h8er
15 / 15 / 5
Регистрация: 20.11.2013
Сообщений: 92
27.01.2014, 21:16     "Stack overflow" как обойти? #41
Ну и отлично.
Yandex
Объявления
27.01.2014, 21:16     "Stack overflow" как обойти?
Ответ Создать тему
Опции темы

Текущее время: 12:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru