-1
任何人都可以告訴我爲什麼編譯這個文件時,我得到一個「Block.h:20:錯誤:多個類型在一個聲明」錯誤信息。似乎沒有什麼解決這個問題,我感到非常沮喪。在C++中獲取「多種類型在一個聲明」錯誤
Displayable.h
#include <X11/Xlib.h>
#include <X11/Xutil.h>
// Information to draw on the window.
struct XInfo
{
Display *display;
Window window;
GC gc;
};
// An abstract class representing displayable things.
class Displayable
{
public:
virtual void paint(XInfo &xinfo) = 0;
};
Sprite.h
#include "Displayable.h"
enum Collision {
NO_COLLISION = 0,
TOP_COLLISION,
RIGHT_COLLISION,
BOTTOM_COLLISION,
LEFT_COLLISION
};
class Sprite : public Displayable {
public:
int x, y, width, height;
Sprite();
virtual void paint(XInfo &xinfo) = 0;
Collision didCollide(Sprite *s);
};
Block.h
#include "Sprite.h"
class Block : public Sprite {
public:
virtual void paint(XInfo &xinfo);
Block(int x, int y, int width, int height);
}; <-- **This is line 20**
其中哪些是'Block.h'? – templatetypedef
最後一個(包含Block類的那個)。 –
更好的是,爲什麼說錯誤在第20行,上面沒有一行有20行? – LostInTheCode