Base Class Undefined

Hey guys while working on some SFML stuff I've been getting an error I'm baffled by this one error, even after some internet research. The relevant pieces of code so far:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once
#include<vector>
#include "Collision.h"

class CObject
{
	CObject(float w, float h, float x, float y)
		: width(w), height(h), startx(x), starty(y), collision(startx, starty, w, h)
	{
		object = sf::Shape::Rectangle(0, 0, w, h, sf::Color(100, 100, 100));
		object.SetPosition(startx, starty);
		objects.push_back(this);
	}
	
	CObject(float w, float h, float x, float y, unsigned short r, unsigned short g, unsigned short b)
		: width(w), height(h), startx(x), starty(y), collision(startx, starty, w, h)
	{
		object = sf::Shape::Rectangle(0, 0, w, h, sf::Color(r, g, b));
		object.SetPosition(startx, starty);
		objects.push_back(this);
	}

	static std::vector<CObject*> objects;

protected:
	float width;
	float height;
	float startx;
	float starty;
	colRegion collision;
	sf::Shape object;
};

std::vector<CObject*> CObject::objects;

And...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// MOVE.H				    
#pragma once
#include<SFML/Graphics.hpp>	
#include "Object.h"

class CMoveableObject;
class CMove;

// abstract class for handling movement
class CMove : public CObject
{
public:
	CMove(CMoveableObject& obj)
		: Object(&obj) 
	{ 	

	// directions for the object to move in
	virtual void WalkLeft();
	virtual void WalkRight();
	virtual void WalkUp();
	virtual void WalkDown();	
	
	virtual void handleMovement(const sf::Input& Input, CMoveableObject rect2) = 0;

private:	
	CMoveableObject* Object;		// pointer to the object to move
};

class CMoveableObject : public CMove
{
public:
	CMoveableObject(float s, float w, float h, float x, float y);
	CMoveableObject(float s, float w, float h, float x, float y, unsigned short r, unsigned short g, unsigned short b);
	
	sf::Shape& getObject();
	bool& getPushable();
	float& getSpeed();
	colRegion& getCollision();

	bool operator==(const CMoveableObject& obj) const;
	bool operator!=(const CMoveableObject& obj) const;
	virtual void handleMovement(const sf::Input& Input, CMoveableObject rect2);
	friend bool isCollision(const CMoveableObject& obj1, const CMoveableObject& obj2);

private:
	float speed;
};	


The error says that in the CMoveableObject class the base class (CMove) is undefined. I've forward declared everything, and I didn't see any problems in the includes, so I have no idea what the hell the problem is now :( All help would be appreciated :)

The exact error is: error C2504: 'CMove' : base class undefined
Missing a closing brace from CMove's constructor. (line 15)
*hangs self*
Thank you...
*hangs self again*
Topic archived. No new replies allowed.