Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: CoLSoN2 en 29 de Junio de 2005, 12:43:50 PM

Título: Un Problema Sintáctico Con Templates Y Stl
Publicado por: CoLSoN2 en 29 de Junio de 2005, 12:43:50 PM
 Estoy haciendo un contenedor un poco especial basado en varios std::vector y estoy haciendo también una clase auxiliar Iterator para el mismo, similar a los iteradores de STL.

El problema es que tengo lo siguiente:


template <class T> class DataGrid;

template <class T>
class Iterator
{
private:
vector<T*>::iterator mIter;
DataGrid<T>&   mGrid;
int      mCurrentCol;
};


y me da los siguientes errores en la línea de mIter:

error C2146: syntax error : missing ';' before identifier 'mIter'
error C2501: 'Sexy::Iterator::mIter' : missing storage-class or type specifiers

Si cambio el parámetro de vector de T* a int compila sin problemas. Sabéis qué puede estar pasando?
Título: Un Problema Sintáctico Con Templates Y Stl
Publicado por: gdl en 29 de Junio de 2005, 04:24:57 PM
 ¿Y si pones...

typedef T* Iptr;
typedef std::vector<Iptr> Ivec;
Ivec::iterator mIter;


...en qué punto te da el error?

PD: Comprueba los includes y los usings. Parece que el compilador desconoce algún símbolo.
Título: Un Problema Sintáctico Con Templates Y Stl
Publicado por: CoLSoN2 en 29 de Junio de 2005, 05:18:07 PM
 Nah, al final he puesto el tipo que necesitaba y ya está, porque ha acabado siendo algo demasiado específico para molestarse en templatizarlo.
Título: Un Problema Sintáctico Con Templates Y Stl
Publicado por: gdl en 29 de Junio de 2005, 09:07:51 PM
 Jejeje... la solución más rápida  :rolleyes:  
Título: Un Problema Sintáctico Con Templates Y Stl
Publicado por: tiutiu en 03 de Julio de 2005, 03:49:04 PM
 The KISS rule ;)