我希望通過向量定義一個迭代器類,並且它的私有成員p
如何匹配std :: vector :: begin()的返回類型?如何定義迭代器類的成員的類型以使用STL容器方法?
class A{
struct element{
...
}
class e_iterator {
e_iterator() : p()
...
private:
element* p;
};
e_iterator e_begin() const{
e_iterator Iter;
Iter.p = e_.begin(); // error
return Iter;
}
std::vector<element> e_;
} 我收到一個錯誤與element* p
:
error: cannot convert 'std::vector<element, std::allocator<element>>::const_iterator' to 'element*' in assignment
你究竟想要做什麼和實現什麼? – Nawaz 2013-03-10 19:25:28
什麼是'e_'?.. – 2013-03-10 19:25:32
@AndyProwl:'e_'顯然是'std :: vector const&'。 –
Nawaz
2013-03-10 19:26:01