Hey estoy recibiendo este extraño error:desajustes Const: 2 sobrecargas tienen ninguna conversión legal para este puntero
error C2663: 'sf::Drawable::SetPosition' : 2 overloads have no legal conversion for 'this' pointer
Creo que tiene algo que ver con los desajustes const pero yo no sé dónde , o por qué. En el siguiente código tengo un vector de formas y sprites, y cuando intento acceder a una de las formas de vectores y llamar a una de sus funciones, obtengo el error.
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]);}
¿Cómo puedo solucionar esto?
¿En qué línea sucede? –
¿Por qué esta pregunta tiene tan buen puntaje? Lo sentimos, no hay intención de ofender, pero ¿no es obvio? – Liviu