2010-09-19 25 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; 
     /*...*/ 
    }; 
}; 

này mang lại cho tôi lỗi biên dịch này:C++: lỗi "... không có nguồn gốc từ loại ..."

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'

Điều đó có nghĩa gì? vấn đề ở đây là gì?

+0

thể trùng lặp của [C++ Template: 'không có nguồn gốc từ loại'] (http://stackoverflow.com/questions/2841757/c-template- không có nguồn gốc từ loại) – Nathan

Trả lời

Các vấn đề liên quan