Getting "multiple types in one declaration" error in C++
<p>Can anyone tell me why i get a "Block.h:20: error: multiple types in one declaration" error message when compiling this file. Nothing seems to be solving this problem and I'm getting pretty frustrated.</p>

<p><strong>Displayable.h</strong></p>

<pre><code>#include &lt;X11/Xlib.h&gt;
#include &lt;X11/Xutil.h&gt;

// 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 &amp;xinfo) = 0;
};
</code></pre>

<hr>

<p><strong>Sprite.h</strong></p>

<pre><code>#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 &amp;xinfo) = 0;
    Collision didCollide(Sprite *s);
};
</code></pre>

<hr>

<p><strong>Block.h</strong></p>

<pre><code>#include "Sprite.h"

class Block : public Sprite {
public:
    virtual void paint(XInfo &amp;xinfo);
    Block(int x, int y, int width, int height);
}; &lt;-- **This is line 20**
</code></pre>
