我在下面的代码中出现了一个奇怪的错误:
#ifndef BALL_H_
#define BALL_H_
#include <list>
#include "SFML/Graphics.hpp"
using namespace sf;
class Ball : public CircleShape {
protected:
unsigned int mass; //the mass of the ball
float xSpeed; //the x component of the ball's speed
float ySpeed; //the y component of the ball's speed
public:
//Constructor : need the screen dimensions to center it
Ball(const unsigned int width, const unsigned int height);
//function that update the position of the ball and handle collisions.
void update(const unsigned int width, const unsigned int height, list<Ball>::iterator *it);
};
#endif /* BALL_H_ */
错误是:无法解析符号'列表'。但是,我在同一个项目的另一个文件中使用列表库,它运行正常。
我正在使用eclipse和linux。
我在eclipse论坛上发现的唯一解决方案是关闭并重新打开项目......对我来说不起作用。
感谢您的帮助=)
答案 0 :(得分:2)
您必须在std::
前添加list<...>
。我假设你使用它的任何地方你都有using namespace std
或等同于文件顶部的东西。
void update(const unsigned int width, const unsigned int height, std::list<Ball>::iterator *it);