Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/04/2014, 12:48
menghi
 
Fecha de Ingreso: abril-2014
Ubicación: Málaga, Andalucía, España
Mensajes: 7
Antigüedad: 10 años
Puntos: 2
Duda sobre #include y clases base

Buenas!

Soy nuevo en el foro, la verdad es que hace años que no escribo en un foro pero haré lo que pueda por colaborar en esta comunidad desde hoy.

Tras años sin programar nada serio en C++, ahora tengo que volver a este lenguaje y tengo un quebradero de cabeza que no consigo solucionar y tampoco entiendo por qué se da.

Tengo 3 clases, con la siguiente definición:

node.h:

Código:
#ifndef NODE_H
#define NODE_H

namespace rce
{
	namespace sg
	{
		class node
		{
		private:
			node * _parent;
			std::map<std::string, node *> _childs;
		public:
			node();
			~node();
			void addChild(std::string name, node * child);
			node * getChild(std::string name);
			void setParent(node * parent);
			virtual void traverse(){};
		};
	};
};
#endif
transform.h
Código:
#ifndef TRANSFORM_NODE_H
#define TRANSFORM_NODE_H

namespace rce
{
	namespace sg
	{
		class transform : public node
		{
		public:
			transform();
			~transform();
			void traverse();
		};
	};
};

#endif
geomnode.h
Código:
#ifndef GEOMNODE_H
#define GEOMNODE_H

namespace rce
{
	namespace sg
	{
		class geomnode : public node
		{
		public:
			geomnode();
			void traverse();
		};
	};
};

#endif
Estas tres clases se incluyen en siguiente fichero:

graph.h
Código:
#infdef GRAPH_H
#define GRAPH_H

#include "node.h"
#include "transformnode.h"
#include "geomnode.h"

...
Pues bien, a la hora de compilar, me devuelve el siguiente error:

error C2504: 'node': clase base sin definir | geomnode.h

Sin embargo, la clase transform no da ningun problema.

¿Alguien que arroje algo de luz sobre mi problema?

Un saludo,

Apu de Beaumarchais