2010-03-15 2 views
0

Pourquoi ce code ne compile pas (Cygwin)?Vecteur des vecteurs de T dans le modèle <T> class

#include <vector> 

template <class Ttile> 
class Tilemap 
{ 
    typedef std::vector<Ttile> TtileRow; 
    typedef std::vector<TtileRow> TtileMap; 
    typedef TtileMap::iterator TtileMapIterator; // error here 
}; 

error: type std::vector<std::vector<Ttile, std::allocator<_CharT> >, std::allocator<std::vector<Ttile, std::allocator<_CharT> > > >' is not derived from type Tilemap'

Répondre

4

Parce que le TtileMap::iterator n'est pas connu pour être encore le type. Ajouter le typename mot-clé pour le résoudre

typedef typename TtileMap::iterator TtileMapIterator; 
+0

nom de type, droit! Merci d'avoir répondu. –

Questions connexes