![](/img/trans.png)
[英]For Random Access Iterator (vector iterator), are the iterators C++ style pointers?
[英]C++ - iterator for a vector of iterators not compiling
我有一个具有const_iterator的模板化类P,我试图制作一个上述迭代器的向量,并通过该向量进行迭代:
std::vector<typename P<A, B>::const_iterator>::const_iterator it;
问题是当我尝试编译时我得到了
error: expected ‘;’ before ‘it’
有什么想法为什么会这样?
你需要一个typename
之前std::vector<>
以及因为在模板参数中的至少一个P<A, B>
是一个依赖型:
typename std::vector<typename P<A, B>::const_iterator>::const_iterator it;
const_iterator
两种用法都取决于模板参数。 所以都需要typename
。
typename std::vector<typename P<A, B>::const_iterator>::const_iterator it;
^^^^^^^^ ^^^^^^^^
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.