Почему некоторые данные в векторе изменяются без доступа других функций? - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть однопоточная программа на C ++, в которой вектор <structType> содержит некоторые данные. Размер вектора не большой, например 77. У structType есть 3 строки, 3int, 4 double. После инициализации вектора мне нужно получить доступ к данным вектора. Но некоторые данные повреждены, например, Строка в structType становится странной меткой, так что я получил ошибку:

File "/usr/share/gdb/python/libstdcxx/v6/printers.py", line 469, in to_string
return self.val['_M_dataplus']['_M_p'].string (encoding, length = len)
OverflowError: signed integer is less than minimum

Я никогда не использовал python в своем коде C ++. После инициализации и перед доступом к вектору, вектор не доступен никаким другим функциям. Почему данные изменены?

Я использовал GDB, чтобы отследить его и обнаружить, что местоположение поврежденных данных не зафиксировано.

Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...