嘿,我得到這個奇怪的錯誤:常量不匹配:2個重載有this指針沒有法律轉換
error C2663: 'sf::Drawable::SetPosition' : 2 overloads have no legal conversion for 'this' pointer
我認爲這是與常量不匹配,但我不知道在哪裏或者爲什麼。 在下面的代碼中,我有一個形狀和精靈的矢量,當試圖訪問其中一個矢量形狀並調用它的一個函數時,我得到了錯誤。
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]);}
我該如何解決這個問題?
它發生了什麼? –
爲什麼這個問題有這麼好的分數?對不起,沒有任何意圖,但不是很明顯嗎? – Liviu