のための法的な変換を持っていない私は、この奇妙なエラーになってるねえ:のConst不一致:2つのオーバーロードは「この」ポインタ
error C2663: 'sf::Drawable::SetPosition' : 2 overloads have no legal conversion for 'this' pointer
を、私はそれがconstの不一致とは何かを持っていると思いますが、私はどこか分かりません、または理由。 次のコードでは、シェイプとスプライトのベクトルを持っています。ベクターシェイプの1つにアクセスしてその関数の1つを呼び出そうとすると、エラーが発生します。
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