Visual Studio 2010 — ошибка несовместимости векторных итераторов C ++ PugiXML

У меня есть приложение, в котором я разбираю код XML на спрайты с текстурами, используя PugiXML. Тем не менее, я испытываю проблемы с получением этого for цикл работает, так как компилятор продолжает возвращать Expression: vector iterators incompatible ошибка во время выполнения цикла, когда initCollisionObject инициируется. Любая помощь будет принята с благодарностью!

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;
}

0

Решение

Это будет звучать смешно, но перезагрузка компьютера фактически решила проблему …

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]