2010-09-19 18 views
13
template<typename T1, typename T2> 
class Bimap { 
public: 
    class Data; 
    typedef Data* DataP;  
    typedef std::multimap<T1, DataP> T1Map; 
    typedef std::multimap<T2, DataP> T2Map; 

    class Data { 
    private: 
     Bimap& bimap; 
     T1Map::iterator it1; 
     /*...*/ 
    }; 
}; 

Esto me da este error de compilación:C++: Error "... no se deriva del tipo ..."

error: type 'std::multimap<T1, Bimap<T1, T2>::Data*, std::less<_Key>, std::allocator<std::pair<const T1, Bimap<T1, T2>::Data*> > >' is not derived from type 'Bimap<T1, T2>::Data'

¿Qué significa eso? ¿Cuál es el problema aquí?

+0

posible duplicado de [C++ Plantilla: 'no se deriva de tipo'] (http://stackoverflow.com/questions/2841757/c-template- is-not-derived-from-type) – Nathan

Respuesta

Cuestiones relacionadas