【发布时间】:2009-02-27 05:30:32
【问题描述】:
std::vector< std::vector<coords> >::iterator iter;
for(iter = characters.begin(); iter != characters.end(); iter++)
{
std::vector<coords>* cha = iter; // doesn't work.
}
// does work.
std::vector<coords>* character = &characters.at(0);
coords* first = &character->at(0);
我不明白为什么。 iter 不应该是指向它的容器应该“包含”的类型的元素的指针吗?
有人愿意解释一下吗?
我的意思是不起作用:
error C2440: 'initializing' : cannot convert from 'std::_Vector_iterator<_Ty,_Alloc>' to 'std::vector<_Ty> *'
这对我来说没有多大意义。
【问题讨论】:
标签: c++ vector iterator elements