Tengo el siguiente codigo:
Código:
Error:#ifndef GECONTENTMANAGER_H #define GECONTENTMANAGER_H #include <string> #include <typeinfo> #include <map> #include <sstream> #include <iostream> #include "object.hpp" class Engine; class PhysicPlane; class Mesh; class Shader; class Texture; class GEContentManager { public: GEContentManager(); Engine* eng; std::string rootDirectory; // Funcion que carga cualquier tipo de archivo a partir de una ruta y un T. // Funcion que carga un archivo a partir del rootDirectory + filename. Por ejemplo 'C:\\Data\' + 'cube.obj' template <class T> T* Load(std::string filename) { std::cout<<eng->pl<<std::endl; [...] }
error: invalid use of incomplete type 'class Engine'
error: forward declaration of 'class Engine'
Lo que intento es acceder a la variable pl, que es un objeto PhysicPlane, a traves de la variable eng, de clase Engine. El problema es que me da error si pongo eng->pl, y no tengo ni idea de porque, ya que tengo las clases declaradas arriba.
Si simplemente pongo eng, no recibo ningún error en el programa.