我有一个自己的对象的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
答案 0 :(得分:5)
我认为你的问题是你将'list'声明为指向boost :: ptr_vector的指针,并试图将它用作自动对象。
恕我直言,您的代码段的第一行应为:
boost::ptr_vector<SomeClass> list;