|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.04.2022, 18:53 | #1 |
------------------
Пользователь
Регистрация: 15.08.2011
Сообщений: 78
|
Странное поведение массива
Код:
Не смущает, что я обрезал массив. Ошибка вываливается только при закрытии приложения. Как так? Код:
Вовсе записали не выделив память. Что за фигня? Заметил, когда смещал элементы массива после удаления. Там вовсе не понятно как работает, левое выгружает, и плевать, что ты режешь массив после сдвига.
C YBA}|{EH|/|EM Tip.the.besT
|
28.04.2022, 19:33 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Range checking по умолчанию выключен, поэтому ошибка сразу вылезет только в том случае, если обратиться к невыделенной памяти, иначе будет неопределенное поведение.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
28.04.2022, 19:41 | #3 |
------------------
Пользователь
Регистрация: 15.08.2011
Сообщений: 78
|
Директива {$R+} кто искать будет. Спасибо!
C YBA}|{EH|/|EM Tip.the.besT
|
29.04.2022, 02:19 | #4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Настоятельно рекомендуется включать эту директиву только на этапе отладки. В релизе её лучше отключить. И код уменьшится и скорость выполнения увеличится.
Читайте Access Violation в деталях до полного просветления. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Странное поведение realloc | eraserhp | Общие вопросы C/C++ | 7 | 17.05.2010 09:52 |
Странное поведение gets | alex_alpha | Общие вопросы C/C++ | 3 | 27.03.2010 18:21 |
Странное поведение DLL | Yurk@ | Компоненты Delphi | 4 | 01.02.2009 01:23 |
Странное поведение ПОИСКПОЗ | ZORRO2005 | Microsoft Office Excel | 5 | 19.05.2008 14:02 |