是否有可能使用自动迭代的目的是这样的?智能指针和迭代与自动
代码会产生错误,但我想知道是否有可能。有错误的行被评论。我很好奇,因为我喜欢聪明的指针,但我想输入更少......我喜欢用C++快速构建原型的想法。
deque<shared_ptr<Vehicle>> data;
data.push_back(shared_ptr<Vehicle>(new Vehicle("aba")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("bobo")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("cici")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("dede")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("efee")));
for(auto i = data.begin(); i != data.end;) //error
{
if((*i)->getName() == "cici")
{
i = data.erase(i); //Only works with C++11. i on left side is next valid pos.
break;
}
else
++i;
}
什么是您的实际问题有关系吗? – Charles
应该读取data.end(); ? – moof2k
什么是错误信息? – Galik