ベクターに対してイテレーター クラスを定義したいのですが、そのプライベート メンバーp
を std::vector::begin() の戻り値の型と一致させるにはどうすればよいですか?
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