类型绑定引用中的限定符和 const 类型的初始值设定项中删除
qualifiers dropped in binding reference of type & to initializer of type const
我不明白这个错误,也找不到任何信息。
#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:"sf::精灵::渲染":无法将参数 1 从"const sf::RenderWindow"转换为"sf::RenderTarget &"
sf::Sprite::Render
引用了non-const,而Window
引用了const
。C++不允许这样的绑定,就这么简单。它会打破常量校正。
您可能希望将参数视为RenderWindow&
。
相关文章:
- 为什么类中的ostringstream类型的成员会导致";调用隐含删除复制构造函数";错误
- 从类型列表中递归删除重复项会导致编译器堆空间错误 (VS2017)
- 为什么 std::make_shared 无法编译带有已删除运算符 new 的类型?
- 将类型添加到现有模板而不删除 c++17
- 删除[]具有不同类型的未定义行为?
- 创建模板类型而不新建/删除
- 从 Typedef 数据类型中删除常量
- 当类型适当的构造函数可用时,为什么一个编译器尝试使用已删除的副本构造函数
- 删除对象(具有不同类型)的引用时会发生什么情况?
- 根据模板类型有条件地删除变量
- 从浮点数中删除小数部分但保留类型的有效方法
- 从自定义数据类型向量中删除重复元素
- C++ 模板<类型名 T> 删除
- 错误:在类型 "blah blah" 的绑定引用中删除限定符以初始化"some other blah blah"
- 为什么许多标准库类型在 C++20 中删除 operator!=?
- 如何从指针类型和指针到指针类型中删除__unaligned说明符
- 为什么在某些情况下从函数返回类型中删除 cv 限定符?
- C++ - 按自定义数据类型向量的值删除元素
- c ++ 我是否需要手动删除指向另一个具体类型的 void* 指针?
- 如何删除类内类类型的类成员指针