Сообщение об ошибке довольно ясно для меня, вы пытаетесь получить доступ к несуществующему элементу массива. Я подозреваю, что значение -534829264 является либо нежелательным, когда вы используете неинициализированную переменную для идентификации элемента в массиве, либо результатом целочисленного арифметического переполнения. В любом случае вы должны включить флаг компиляции для принудительной проверки границ массива и запуска некоторых тестов. Я думаю, что флаг для компилятора Intel будет -CB
, но проверьте документацию.
Относительно того, почему программа, по-видимому, успешно работает в отладчике, я не могу сильно помочь, но, возможно, отладчик налагает некоторые значения по умолчанию на переменные, которых сама система времени выполнения не делает. Или какой-то другой фактор полностью ответственен.
EDIT:
Разве система во время выполнения не сообщает вам, какая строка кода вызывает проблему? Еще несколько вещей, чтобы попытаться диагностировать проблему. Используйте компилятор, чтобы предупредить вас о
- использование переменных до их инициализации;
- целочисленное арифметическое переполнение (не уверен, что компилятор может это определить?);
- любые принудительные преобразования из одного типа в другой и из одного вида в другой в пределах одного типа.
Кроме того, проверьте, что целочисленный размер по умолчанию соответствует ожидаемому, и, что более важно, ожидаемому остальной части кода.