c++ PugiXML Vector迭代器不兼容错误
C++ PugiXML Vector Iterators Incompatible Error
我有一个使用PugiXML将XML代码解析为带有纹理的精灵的应用程序。然而,当initCollisionObject
启动时,我遇到了让这一个for
循环工作的问题,因为编译器在循环期间不断返回Expression: vector iterators incompatible
运行时错误。任何帮助将非常感激!
for
Loop:
for (xml_node collisions = doc.child("level").child("collisions").child("object"); collisions; collisions = collisions.next_sibling("object"))
{
xml_attribute textureAttribute = collisions.attribute("spritesheet");
xml_attribute xPosAttribute = collisions.attribute("x");
xml_attribute yPosAttribute = collisions.attribute("y");
xml_attribute rotationAttribute = collisions.attribute("rotation");
std::string texture = textureAttribute.as_string();
int xPos = xPosAttribute.as_int();
int yPos = yPosAttribute.as_int();
int rotation = rotationAttribute.as_int();
collisionArray.push_back(collisionObject);
collisionArray[currentCollisionObjectIndex].initCollisionObject(texture, _world, xPos, yPos, rotation);
currentCollisionObjectIndex++;
}
initCollisionObject
功能:
void CollisionObject::initCollisionObject(std::string fileName, b2World &_world, float objectX, float objectY, float objectRotation)
{
collisionObjectSpriteImage.loadFromFile(fileName);
//spriteImage.createMaskFromColor(sf::Color::White);
collisionObjectSpriteTexture.loadFromImage(collisionObjectSpriteImage);
collisionObjectSprite.setTexture(collisionObjectSpriteTexture);
width = collisionObjectSprite.getGlobalBounds().width;
height = collisionObjectSprite.getGlobalBounds().height;
x = objectX;
y = objectY;
rotation = objectRotation;
collisionObjectSprite.setOrigin(collisionObjectSprite.getGlobalBounds().width / 2, collisionObjectSprite.getGlobalBounds().height / 2);
collisionObjectSprite.setPosition(x, y);
collisionObjectSprite.setRotation(rotation);
createStaticCollision(_world, x, y, width, height, rotation);
return;
}
这听起来很荒谬,但是重新启动计算机实际上解决了问题…
相关文章:
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 类型为 "int*" 的参数与 C++ 中错误类型"int**"参数不兼容
- 该对象具有与成员函数不兼容的类型限定符.为什么会出现此错误?
- 编译器错误"在if语句中分配不兼容的类型"
- 发生 Qt5.11 应用插件构建错误:信号和插槽参数不兼容
- 向量迭代器不兼容的错误,用于保存另一个向量的迭代器的向量
- C++,弹出调试断言失败窗口,我得到矢量迭代器不兼容的错误运行时
- 错误:将"long int (*)[4]"分配给"long int [4][4]"时的类型不兼容
- 创建进程使用路径时出现错误事件:类型 "char *" 的 E0167 参数与类型 "LPWSTR" 的参数不兼容
- pybind11基本回调,不兼容的功能签名错误
- 迭代器不兼容错误
- 不断增加的指针数组 错误:赋值中的类型不兼容
- C++头文件出现Windows不兼容错误
- 在beaglebone black上使用arm-linux-gnueabihf时跳过不兼容错误
- 字符串迭代器不兼容错误,当我将字符串转换为矢量<byte>时
- 错误:在 GEANY 中将"int"赋值为"char [1]"时类型不兼容
- 如何消除"矢量迭代器不兼容"错误?
- boost 是否使用 C++11 "inline namespaces" 来避免运行时出现 ABI 不兼容错误?
- c++ PugiXML Vector迭代器不兼容错误
- Vector迭代器不兼容错误