अरे मैं इस अजीब त्रुटि मिल रही है:कॉन्स्ट बेमेल: 2 भार के 'इस' सूचक के लिए कोई कानूनी रूपांतरण है
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