【发布时间】:2021-05-23 23:28:27
【问题描述】:
我遇到了一个使用 tinyxml2 无法解决的问题。
我有一个函数接收XMLElement 作为参数,我需要迭代它的属性。使用 tinyxml,这很有效:
void xmlreadLight(TiXmlElement* light){
for (TiXmlAttribute* a = light->FirstAttribute(); a ; a = a->Next()) {
//Do stuff
}
}
对 tinyxml2 使用相同的方法,如下例所示,我收到以下错误:
const tinyxml2::XMLAttribute *类型的值不能用于初始化tinyxml2::XMLAttribute *类型的实体
void xmlreadLight(XMLElement* light){
for (XMLAttribute* a = light->FirstAttribute(); a ; a = a->Next()) {
//Do stuff
}
}
有问题的 XML 代码是:
<lights>
<light type="POINT" posX=-1.0 posY=1.0 posZ=-1.0 ambtR=1.0 ambtG=1.0 ambtB=1.0 />
</lights>
其中 light 是传递给函数 xmlreadLight 的 XMLElement。不确定我的问题是否正确设置,所以如果缺少某些信息,请告诉我。
【问题讨论】: