Каковы распространенные причины ошибок сегментации при использовании map в C++? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Каковы распространенные причины ошибок сегментации при использовании map в C++? [закрыто]

Сообщение Anonymous »

В проекте, который я недавно писал, создание новой карты внутри определенной функции и добавление к ней двух элементов приводит к ошибке сегментации. Эти же строки (совершенно не связанные с остальной частью программы) совершенно нормально выполняются в отдельных проектах или онлайн-компиляторах. В чем может быть причина ошибки сегментации на этот раз? как в этом случае могут плохо работать строки, не имеющие ничего общего с остальной частью программы?
это строки:

Код: Выделить всё

std::map dict;
dict[2] = 1;
dict[1] = 2;
это прекрасно работает в онлайн-компиляторе, но не работает в моей программе, имена не перекрываются, и я проверил, что удаление этих строк заставляет программу работать. Я также пытался использовать вставку, но получаю ту же ошибку.
ошибка сегментации выдается в строке внутри исходного кода C++:
Изображение

Если вам интересно, это внутри конструктора класса, содержащегося в файле .cpp. , это единственная карта времени, используемая внутри этой функции, программа запускается, если эти строки удалены. Заранее спасибо!
РЕДАКТИРОВАТЬ:
[img]https://i .sstatic.net/7orx6c7e.png[/img]

РЕДАКТИРОВАТЬ 2 (ОДНО РЕШЕНИЕ):
Итак, проблема теперь решена, понятно, что это будет мешать, < strong>Проблема заключалась в большом количестве пакетов #pragmapack(1), разбросанных по всему проекту, и их удаление устранило проблемы. возможно, это урок, который стоит усвоить. Я думаю, что это будет решением.
Я знаю, что меня просили опубликовать воспроизводимый код, но чтобы отправить его, мне пришлось бы отправить более полдюжины исходных файлов, изменяя каждый из них, чтобы не использовать внешние библиотеки. извинения. и спасибо всем, кто помог.

Подробнее здесь: https://stackoverflow.com/questions/785 ... t-int-in-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»