C++ sfml platformer错误:缺少类型说明符-假定为int
嘿,我正在检查我的玩家类的边界框是否与我的地图分幅的边界框发生碰撞。然而,它却出现了这个错误。我的地图上有一个定义,h叫做玩家地图;包括我的球员h。然后,我继续检查它们是否都相交,说如果mapplayer.boundingbox.intersects(platformboundingbox)发生碰撞。看一看,任何洞察都将不胜感激 这是我地图课的一部分C++ sfml platformer错误:缺少类型说明符-假定为int,c++,sfml,C++,Sfml,嘿,我正在检查我的玩家类的边界框是否与我的地图分幅的边界框发生碰撞。然而,它却出现了这个错误。我的地图上有一个定义,h叫做玩家地图;包括我的球员h。然后,我继续检查它们是否都相交,说如果mapplayer.boundingbox.intersects(platformboundingbox)发生碰撞。看一看,任何洞察都将不胜感激 这是我地图课的一部分 if(mapVector[i][j] == 1) {
if(mapVector[i][j] == 1)
{
sprite.SetImage(BlockImage);
sprite.SetPosition(j * BLOCKSIZE, i * BLOCKSIZE);
platformBoundingBox.Top = sprite.GetPosition().y - 5;
platformBoundingBox.Bottom = sprite.GetPosition().y;
platformBoundingBox.Left = sprite.GetPosition().x - 5;
platformBoundingBox.Right = sprite.GetPosition().x;
Window.Draw(sprite);
if(mapPlayer.boundingBox.Intersects(platformBoundingBox))
cout<<"collision occured";
}
问题是你的
using namespace sf;
这将使变量窗口
与类冲突
或者使用,例如
this->Window.Draw(...);
或者(我建议)停止使用
语句。声明中只需多写四个字符,还有一件好事,那就是它使您的代码更加清晰。请编辑您的问题,以包含完整的错误消息、所有消息,并请指出它们在代码中的哪一行。如果您包含了您所创建的所有相关类/结构的定义,这也会很好。我已经说明了错误出现的地方。在最后一个播放器是mapPlayer。涉及的两个班级。地图和播放器。我只想在我的地图类中使用玩家的边界框。这就是错误。除了错误代码之外错误c4430:缺少类型说明符-假定为int。注释C++不支持默认的It。但是什么是代码> Bultbox Box <代码>?什么是platformBoundingBox
?什么版本的SFML?是的,对不起,我应该包括它们的详细信息。sfml1.6,它们都是sf::rect您使用名称空间sf做什么代码>在源文件中,或包含的头文件中?好的,谢谢您的输入。我不认为这能解决我的问题。@TomFlan为什么不试试呢?如果它不起作用,那么至少有一件事是要划掉可能的错误。我做到了。没有运气。你是对的,这是从名单上划掉的东西。我可以尝试一种完全不同的方法来比较边界框。我下周要交这个项目,已经花了一整天的时间试图解决一个问题。@TomFlan晚上好好睡一觉,明天你可能会从新的角度看到这一切。:)啊哈,谢谢,我一定会这么做的!无论如何谢谢你的帮助
this->Window.Draw(...);