Título: Problema con plantillas (SOLUCIONADO) Publicado por: SARGE553413 en 11 Noviembre 2012, 14:26 pm Hola a todos.
Parece que esta duda esta archicontestada, pero he buscado en google 1000 ejemplos y no ha funcionado ni uno, así que os pregunto a vosotros. Tengo una clase template con este método: template <class T> class Lista { private: int nElementos; private: T ** ptr; //vector "dinámico" de punteros a objetos clase T ...... Lista(int n); //Constructor de lista de n elementos ...... void setElemento(T *,int n); //Poner un elemento en la posicion 'n' ...... ...... } //y en el he probado todo esto: int main() { Lista <int> *L1=new Lista<int>(3); Lista <int> L2(3); int a=2; L1->template setElemento<int>(&a,1); L1->setElemento<int>(&a,1); L2.template setElemento<int>(&a,1); L2.setElemento<int>(&a,1); } No compila nada de lo que he probado, he mirado por internet y a todo el mundo que esto le daba problemas se le solucionaba al hacerlo como yo arriba, y no encuentro mas ejemplos o formas de hacerlo. Leí en un foro en inglés que el problema podría ser que tengo que declarar, en setElemento, el puntero a T como const, lo he probado y tampoco funciona. ¿Que puedo hacer? EDITO: los errores que da son: si no pongo el template: expected primary expression before int. expected ';' before int. y si pongo template: lo mismo y ademá: `template' (as a disambiguator) is only allowed within templates Muchas gracias de antemano. Título: Re: Problema con plantillas (SOLUCIONADO) Publicado por: SARGE553413 en 11 Noviembre 2012, 19:14 pm Hola de nuevo, no se muy bien como lo he hecho pero ya lo he solucionado, no hace falta que conteste nadie por tanto. Si alguien tiene el mismo problema y quiere que copie todo el código fuente para ver el ejemplo, contestad a este mensaje y lo haré :)
Saludos. |