无法解决C2660和C2065错误

时间:2019-08-16 01:24:31

标签: c++ sfml

我正在关注一个在线教程,以学习如何编写代码和制作视频游戏,但是我的问题是该教程已有7年的历史,即使当我分解并尝试复制示例代码时,某些说明也有问题直接。

更具体地说,我的问题来自尝试在圈子中着色,因为它说该函数没有3个参数,并且在末尾有“检查窗口是否打开”功能, “未声明事件标识符”,我也不确定该函数的用途。

bcdedit /set hypervisorlaunchtype off
  

C2660'sf :: Shape:setFillColor':function不带3个参数
  C2065“事件”:未声明的标识符

1 个答案:

答案 0 :(得分:1)

我在所示的代码中看到2个错误,而列出的错误中还有一个错误。

sf::CircleShape circleRed(int 100);中,int之后的两行不属于该参数。所以这些行应该是:

sf::CircleShape circleRed(100);
sf::CircleShape circlePink(100);
sf::CircleShape circleWhite(100);

然后根据documentation,下面circleRed.setFillColor(sf::Color(FF0000));中的颜色格式不正确。

circleRed.setFillColor(sf::Color(0xFF,0x00,0x00));
circlePink.setFillColor(sf::Color(0xFF,0x82,0x82));
circleWhite.setFillColor(sf::Color(0xFF,0xFF,0xFF));

由于数字以十六进制表示,因此您可以使用0x继续进行操作,请参见此处以获取更多信息:Why are hexadecimal numbers prefixed with 0x?

还有以下错误

  

C2065“事件”:未声明的标识符

表示不包含sf::Event的标题。添加

#include <Event.hpp>

位于包含main的cpp文件顶部。