Я недавно начал использовать tinyXML. Проблема в том, что когда я запускаю свою программу для чтения через xml, она возвращает обратно нарушение доступа. Обычная линия:Нарушение прав доступа к TinyXML
doc.FirstChildElement("Map")->FirstChildElement("Width")->GetText()
С Отладчиком Visual Studio, я решил, что она возвращается нулем для «Карты», а затем использует пустую ссылку для вызова функций.
Вот первые строки кода, и XML
XMLDocument doc;
doc.LoadFile(path.c_str());
int width = atoi(doc.FirstChildElement("Map")->FirstChildElement("Width")->GetText());
XML:
<?xml version="1.0"?>
<Master>
<Map>
<Width>5</Width>
<Height>5</Height>
<Layers>1</Layers>
<Tiles>
<Tile>
<Id>1</Id>
<Path>data/tiles/dirt-base.png</Path>
</Tile>
</Tiles>
<Data>
<DataLayer>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</DataLayer>
</Data>
</Map>
</Master>
IT важно отметить, я изначально не имеют корневой тег, но добавил, когда это не сработало, добавив, что это все равно не помогло. Любая помощь была бы оценена
Что возвращает 'doc.LoadFile (...)' return? –
Никогда не используйте указатели, возвращаемые функциями, не проверяя, что они возвращают ненулевые указатели. –
Существует ли «путь»? – acraig5075