Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2011, 11:50
Avatar de darkgaze
darkgaze
 
Fecha de Ingreso: febrero-2006
Ubicación: Madrid, España
Mensajes: 462
Antigüedad: 18 años, 9 meses
Puntos: 2
problema con clase estatica

Resulta que tengo una clase estática:

Código:
class gestorTexturas
{
    public:
        static GLuint getTexturaObjIndex(std::string nombre);
        static void cargaTextura(std::string nombre, std::string ruta);
    private:
        typedef std::map<std::string, GLuint> parejaTexturaNumero;
        static parejaTexturaNumero _listaTexturasIds;
};
y cuando en el .cpp declaro la funcion

Código:
GLuint gestorTexturas::getTexturaObjIndex(std::string nombre)
{
    parejaTexturaNumero::iterator it = _listaTexturasIds.find(nombre);
    if (it != _listaTexturasIds.end())
        return (it->second);
    else
        return 0;
    
}
Cuando accedo a _listaTexturasIds desde dentro , me dice que

Undefined Reference to gestorTexturas::_listaTexturasIds

Y parece que no funciona... creo que me estoy saltando algo de la teoría de clases estáticas y miembros estáticos. Por tener un miembro dentro de la clase tengo que hacer que deje de ser estática???. No lo necesito, solamente quiero tener una lista global en esta clase pero no la encuentra. Ni siquiera me ayuda el ide. Solo me saca los miembros locales si hago
gestorTexturas::_listaTexturasIds .... si lo pongo normal, no sabe lo que es.

Tendré que hacer una clase no estática y un patrón de programación para que solo haya una instancia de esta clase?


Gracias
__________________
Darkgaze