У меня есть однопоточная программа на 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, чтобы отследить его и обнаружить, что местоположение поврежденных данных не зафиксировано.
Любая помощь очень ценится.