![]() |
|
Модераторы: bsa |
![]()
|
|
| feanor777 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 5.4.2014 Репутация: нет Всего: нет |
Здравствуйте!
Во время выполнения кода в (MVS 2010) выбивается такая ошибка Run-Time check Failure #2 - Stack around the variable 'ar1' was corrupted
Я выяснил в чем проблема - вроде как я где-то вылажу за пределы массива, даже мне кажется нашел проблему в коде 21 строка. ar[k]=mas(ar); Но никак не могу найти выход из сложившейся ситуации! Подскажите пожалуйста, как исправить эту ошибку?! Это сообщение отредактировал(а) feanor777 - 18.5.2014, 22:51 |
|||
|
||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: -1 Всего: 16 |
А зачем Вы это делаете? Когда ответите (но только тогда) -- то второй вопрос будет -- почему именно так? |
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Не вроде как, а однозначно. Массив рассчитан на 5 элементов, а Вы присваиваете какое-то значение (хотя судя по коду, это всегда ноль) шестому (несуществующему) элементу массива. Не присваивайте шестому элементу массива (у него индекс 5) никакого значения. И да, зачем это нужно, остаётся загадкой... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| feanor777 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 5.4.2014 Репутация: нет Всего: нет |
Реально блин! ) Как только изменил эту строку на просто mas(ar); сразу прошли все ошибки.
Просто я только начал изучать ф-ции и немного не разобрался. Я думал, что для того, что бы ф-ция mas отработала свое предназначение(заполнила массив случайными числами), мне нужно присвоить массиву ar[], эту ф-ция, проще говоря написать ar[]=mas(ar). Но MVS не разрешила мне такую запись, подчеркивая её красным, поэтому путем проб и ошибок, я попробовал написать ar[k]=mas(ar) - эту запись компилятор пропустил, да и вроде как программа начала работать правильно, вот только при выполнении выскакивала вон та ошибка. Вот таким способом все произошло ;) Теперь же я понял, что для того, что бы эта ф-ция выполняла свое предназначение достаточно просто задать ей в качестве параметра массив и вуаля! Спасибо за помощь! |
||||||
|
|||||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |