0
我有這樣的C++代碼中,我試圖讓越來越QDomElement值值形成通過QDomDocument API的XML文件:錯誤時爲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 :: string和閱讀)
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 5的QT VS Addin,但我使用Qt4.8庫進行配置。
我在網上搜索,發現是內存問題(刪除一個已刪除的變量或類似的東西),但我沒有找到正確的解決方案。