0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 6
1

Ошибка "Run-Time Check Failure #2 - Stack around the variable '_16' was corrupted."

06.04.2018, 23:53. Показов 2382. Ответов 3
Метки нет (Все метки)

Посмотрев в интернете понял что эта проблема связана с выходом за пределы массива, однако у себя в коде выходов за пределы не заметил.
Массив "_16" упоминался в программе только в одном месте.
C++
1
2
3
int tmp = 0;
char _16[17] = "0123456789abcdef";
for (; tmp < 16 && a[i] != _16[tmp]; tmp++) ;
Массив "а" состоит из символов 16-тиричной системы счисления.
При пошаговом дебаге такую ошибку не выдаёт и программа нормально функционирует.
Помогите найти и исправить ошибку.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2018, 23:53
Ответы с готовыми решениями:

Ошибка при работе с массивом: "Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted."
Ребята, помогите пожалуйста, при комплиляции программы иногда вылезает строчка: &quot;Run-Time Check...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'B' was corrupted
Ошибка Run-Time Check Failure #2 - Stack around the variable 'B' was corrupted Суть работы - дан...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted
Суть работы: Дана непустая последовательность слов (не более 30), в каждом слове не более восьми...

Ошибка: Run-Time Check Failure #2 - Stack around the variable 'ttt1' was corrupted
Ошибка при дебаге. Помогите понять в чем дело. Visual Studio 2010 Код #include...

3
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
06.04.2018, 23:57 2
Цитата Сообщение от noname1111011 Посмотреть сообщение
tmp < 16 && a[i] != _16[tmp]
Возможно проблема в том, что условие И, и при tmp > 16 a[i] сравнивается с несуществующим элементом.
0
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 6
07.04.2018, 00:09  [ТС] 3
Да только, вот проблема в том что оно и в таком формате:
C++
1
2
3
4
5
int tmp = 0;
char _16[17] = "0123456789abcdef";
for (; tmp < 16; tmp++) 
    if(a[i] == _16[tmp])
        break;
выдаёт ту же ошибку ,хотя по идее цикл for должен ограничивать выполнение оператора ветвления для диапазона(0<=tmp<=15), на сколько я понимаю он(диапазон) вполне в ходит в диапазон массива.
0
nd2
3433 / 2812 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
07.04.2018, 01:50 4
Цитата Сообщение от noname1111011 Посмотреть сообщение
Помогите найти и исправить ошибку.
Кода мало.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2018, 01:50
Помогаю со студенческими работами здесь

Ошибка Run-Time Check Failure #2 - Stack around the variable 'arr' was corrupted
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { const int n = 3;...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'str' was corrupted
Ошибка Run-Time Check Failure #2 - Stack around the variable 'str' was corrupted. Есть ошибочки...

Ошибка run-time check failure #2 - stack around the variable 'findmonths' was corrupted
Есть код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #include &lt;conio.h&gt;...

Ошибка Run-Time Check Failure #2 - Stack around the variable 'TicketNumber' was corrupted
Всем доброго времени суток! Программа выполняется, но в конце вылетает раздражающее окно с ошибкой....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru