通过boost ptr_vector迭代

Max*_*rai 0 boost loops ptr-vector

我有一个自己的对象的ptr_vector列表.像这样的东西:

boost::ptr_vector<SomeClass> *list;
list->push_back(new SomeClass()>;
...
BOOST_FOREACH(SomeClass *tempObj, list)   // [x]
{
   tempObj->...
}


>‘boost::ptr_vector<SomeClass>*’ is not a class, struct, or union type
Run Code Online (Sandbox Code Playgroud)

Tim*_*sch 5

认为您的问题是您将'list'声明为指向boost :: ptr_vector的指针,并尝试将其用作自动对象.

恕我直言,你的代码片段的第一行应该是:

boost::ptr_vector<SomeClass> list;
Run Code Online (Sandbox Code Playgroud)