Ошибка сегментации cpp с использованием вектора векторов - PullRequest
0 голосов
/ 07 апреля 2020

У меня ошибка сегментации, из-за которой я не могу понять, в чем именно заключается проблема. Я перебираю некоторые папки, в каждой из которых есть несколько файлов, из которых я получаю данные, и создаю из них объекты (Ship - это объект, для которого мне нужны детали из файлов для построения).

, поэтому я иметь вектор векторов, содержащий объект пути (из библиотеки файловой системы). На первой итерации все работает нормально, но на третьей итерации я получаю ошибку по векторным каталогам [2]. Я подумал, что мог бы попытаться получить доступ к памяти, которая не существует, но я напечатал адрес этой памяти, и он существует, кроме того, объект существует в каталогах [2], когда я пытаюсь добраться до него.

сначала приведен фрагмент кода ошибки сегмента из gdb -

    Thread 1 received signal SIGSEGV, Segmentation fault.
0x00000000004d8190 in std::vector<Container, std::allocator<Container> >::operator[] (this=0xabababababababf3, __n=1) at C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/9.2.0/include/c++/bits/stl_vector.h:1043
1043        return *(this->_M_impl._M_start + __n);

Вот мой код с комментариями, так что было бы легче следовать -

Спасибо! !

РЕДАКТИРОВАТЬ Я решил, проблема была в другом поле в моем коде.

...