我正在尝试用C ++实现通用映射。 类Map有一个迭代器的内部类,它的定义如下:
public:
Map();
Map(const Map& map);
~Map();
class Iterator {
Map* map;
Node* node;
public:
Iterator(Map*);
Iterator(const Iterator& Iterator);
Iterator& operator++();
Iterator& operator--();
Iterator& operator*();
const K getKey();
T& getData();
const T& getData() const;
};
但是当我尝试实现迭代器构造函数(或任何其他迭代器方法)时,Eclipse将不会识别它或建议它(当按下ctrl + space时),即当我写这个时:
template<class K, class T>
Map<K,T>::Iterator::Iterator(){ //Member declaration not found
//some code of constructing...
}
我错过了什么?
答案 0 :(得分:2)
您正在尝试为Iterator
类定义默认构造函数,但您只声明了一个构造函数,其中包含指向包含类和复制构造函数的指针。尝试定义其中一个或声明一个默认构造函数。