Alb*_*ert 13 c++ compiler-errors
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;
/*...*/
};
};
Run Code Online (Sandbox Code Playgroud)
这给了我这个编译错误:
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'
那是什么意思?这里有什么问题?
Any*_*orn 15
做了:
typename T1Map::iterator it1;
Run Code Online (Sandbox Code Playgroud)
http://www.parashift.com/c++-faq-lite/templates.html#faq-35.18