我不明白这个错误&找不到任何关于它的信息。
#ifndef GAME_H
#define GAME_H
#include <SFML/System.hpp>
#include <cmath>
#include "Submarine.h"
#include "Obstacle.h"
class Game : public Submarine
{
public:
Game(unsigned w,unsigned h,bool g);
void setKey(char Key='n');
void update(float dt);
void Render (const RenderWindow &Window) const ;
static bool Collision(sf::Sprite& object1, sf::Sprite& object2);
unsigned getWidth();
unsigned getHeight();
char getKey();
protected:
bool newGame;
unsigned width;
unsigned height;
char currentInput;
};
#endif
此处发生错误;
void Game::Render(const RenderWindow &Window) const
{
sf::Sprite::Render(Window);
}
错误27错误C2664:&#39; sf :: Sprite :: Render&#39; :无法从&#39; const sf :: RenderWindow&#39;转换参数1 to&#39; sf :: RenderTarget&amp;&#39;
答案 0 :(得分:2)
sf::Sprite::Render
引用非const,而Window
引用const
。 C ++不允许这样的绑定,简单。它会破坏const-correctnes。
您可能希望将参数设为RenderWindow&
。