Buenas!
Tengo el siguiente codigo:
Código:
#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:
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.