Я получаю эту странную ошибку:
ошибка C2663:
'sf :: Drawable :: SetPosition': 2
перегрузки не имеют законного преобразования для
указатель 'this'
Я думаю, что это как-то связано с несовпадением констант, но я не знаю, где и почему.
В следующем коде у меня есть вектор форм и спрайтов, и при попытке получить доступ к одной из форм векторов и вызове одной из ее функций я получаю ошибку.
std::vector<sf::Shape> Shapes;
std::vector<sf::Sprite> Sprites;
bool AddShape(sf::Shape& S){
Shapes.push_back(S); return true;
};
bool AddSprite(sf::Sprite& S){
Sprites.push_back(S); return true;
};
private:
virtual void Render(sf::RenderTarget& target) const {
for(unsigned short I; I<Shapes.size(); I++){
Shapes[I].SetPosition(
Shapes[I].GetPosition().x + GetPosition().x,
Shapes[I].GetPosition().y + GetPosition().y);
target.Draw(Shapes[I]);
}
for(unsigned short I; I<Sprites.size(); I++){
target.Draw(Sprites[I]);
}
}
Как я могу это исправить?