![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.07.2016
Сообщений: 3
|
![]()
Пытаюсь повторить Хаффмана у себя в VS15.
Код рабочий. Проверял в cpp.sh все выводит корректно. Хочу писать в VS. Настроить нормально среду. платформа win32 конфигурация релиз x86 консоль code generation / runtime library - Multi-threaded (/MT) general / character set - Use Multi-Byte Character Set при запуске выбрасывает исклчение "Exception thrown: read access violation. root was 0x4E0049. If there is a handler for this exception, the program may be safely continued." запускал в codeblocks - та же картина. Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
код содержит UB.
к вашему несчастью он успешно отрабатывает в линуксовой среде, потому что там при старте, операционка всю память процессу чистит в ноль. но вам повезло: ошибки (их несколько) сразу проявилась в виндузятной среде. лекарство: http://rextester.com/EVUI91969 Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 06.07.2016
Сообщений: 3
|
![]()
я подозревал что дело в инициализации указателей
до этого они ссылались на недоступную область памяти но в VS15 assert сразу выбрасывает ошибки в codeblocks работает, спасибо. похоже null недостаточно и где-то все-таки нужно чистить память? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
![]()
я представил вам не только рабочий код,
но и ссылку на онлайн компилятор, которая иллюстрирует успешную работу VS15 1. вам нужно слить этот код в унитаз. и забыть о нем, как о страшном ужасе. 2. перестать делать ни на чем не обоснованные предположения. 3. почитать зачем нужны ссылки. 4. почитать правило трех. 5. почитать зачем нужна инициализация. 6. почитать о конструкторах копии. 7. почитать о стилях и нотациях кода. 8. приучить себя проверять указатель, прежде чем разыменовывать его. 9. если вы удаляете элемент из контейнера - сначала проверьте, что контейнер не пуст. 10. сначала проверяй, потом уже делай. 11. научиться пользоваться отладчиком. 12. открыть для себя "логгирование". |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сломалась Visual Studio 2015 | flesyyykkk | Общие вопросы C/C++ | 1 | 27.05.2016 00:08 |
Не запускаются экзешники созданные в Visual Studio 2015 | Konark | WPF, UWP, WinRT, XAML | 5 | 06.12.2015 17:18 |
написать программу в visual studio 2015 | Lera_94 | Помощь студентам | 2 | 14.10.2015 21:32 |
Подправить код в Visual studio | noob_11 | Помощь студентам | 0 | 04.04.2010 22:42 |