反復の目的でautoを使用することは可能ですか?スマートポインタと自動反復
コードでエラーが発生する可能性がありますか?エラーのある行はコメントされています。私はスマートなポインタが好きなので好奇心が強いですが、タイプを少なくしたいと思います。私は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