use*_*456 0 c++ boost shared-ptr
我遇到了一个问题,想知道是否有人可以帮助我.
在我的一个班级(例如class1)中,我有一个
typedef boost::shared_ptr <class-one-object>
typedef std::vector<class-one-object>
在另一个类(例如class2)中,我需要再次创建一个向量,以便迭代这个
class-one-object
所以我尝试了以下内容
class1::ImportTableObject& table = configPtr->getTable();
std::vector<class1::class-one-object>::const_iterator* iter = table.begin();
Run Code Online (Sandbox Code Playgroud)
这引发了以下编译错误:
cannot convret `__gnu_cxx::__normal_iterator<boost::shared_ptr<class1::class-one-object>*, std::vector<boost::shared_ptr<class1::class-one-object>,
std::alloctor<boost::shared_ptr<class1::class-one-object> > > to '__gnu_cxx::__normal_iterator<const class1::class-one-object*, std::vector<class1::class-one-object>
Run Code Online (Sandbox Code Playgroud)
等等
有人可以帮我吗?
先感谢您
begin
不返回指向迭代器的指针,它返回一个迭代器.
std::vector<class1::class-one-object>::const_iterator iter = table.begin()
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.