У меня есть этот C++ код, в котором я пытаюсь получить значение сформировать файл XML через QDomDocument API:Ошибка при получении значения QDomElement в QString
...
QFile xml_file("file.xml");
QDomDocument qdom_document;
maps_qdom_document.setContent(&maps_xml_file);
QDomNodeList maps = qdom_document.elementsByTagName("map");
QDomNode n = maps.item(0);
QDomElement markers_list = n.firstChildElement("markers_list");
QDomNodeList markers = markers_list.elementsByTagName("marker");
QDomNode marker;
int _id;
QString value1;
for (int i = 0; i < markers.size(); i++) {
marker = markers.item(i);
// APPLICATION STOPS AT THE LINE BELOW
value1 = marker.firstChildElement("id").text(); //!!!ERROR DETECTED HERE
_id = value1.toInt();
}
...
тестирования value1 значение оно определено и содержит значение, Я хочу (я преобразовать его в StD :: строку и прочитать)
Error Detected when getting value1
это стек вызовов, когда программа останавливается на линии, описанной:
и этого natvis выход:
Natvis: C:\USERS\USER\APPDATA\LOCAL\MICROSOFT\VISUALSTUDIO\14.0\EXTENSIONS\BFMZ1AIF.2DM\natvis\qt5.natvis(200,25): Error: class "QString::Data" has no member "offset"
Error while evaluating '((reinterpret_cast<unsigned short*>(d)) + d->offset/2),sub' in the context of type 'main.exe!QString'.
Я использую Visual Studio 2015 и компилятор vsc10 (в Visual Studio 2010). Я использую QT VS Addin, который лучше всего подходит для Qt 5, но я настраиваю его с помощью libtraces Qt4.8.
Я искал в сети и обнаружил, что это проблема с памятью (удалить удаленную переменную или что-то в этом роде), но я не нашел правильного решения.