c++ - 创建一个由 boost 共享指针组成的 vector

标签 c++ boost shared-ptr

我遇到了一个问题,想知道是否有人可以帮助我。

在我的一节课中(例如 class1)我有一个

typedef boost::shared_ptr <class-one-object>

typedef std::vector<class-one-object>

在另一个类(例如 class2)中,我需要再次创建一个 vector ,以便遍历这个

class-one-object

所以我正在尝试以下

class1::ImportTableObject& table = configPtr->getTable();    
std::vector<class1::class-one-object>::const_iterator* iter = table.begin();

这引发了以下编译错误:

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>

等等等等

谁能帮帮我?

提前谢谢你

最佳答案

begin 不返回指向迭代器的指针,它返回一个迭代器。

std::vector<class1::class-one-object>::const_iterator iter = table.begin()

应该可以解决问题。

关于c++ - 创建一个由 boost 共享指针组成的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10494682/

相关文章:

c++ - boost.enable_shared_from_this 并创建另一个 shared_ptr<T>

c++ - 谁拥有 MySQL Connector C++ 返回的内存?

c++ - 做原子操作(C++)卡住CPU

c++ - 为什么 Darwin 的 strtod 线程不安全?

c++ - std::to_string 在 header 字符串中不可用

C++ const char* 指针赋值

c++ - 句柄而不是指针的引用计数

c++ - `volatile` 在线程之间同步变量

c++ - 如何从/dev/shm 获取有关可用内存的信息

c++ - 通过 boost::lexical_cast 将 C++Builder AnsiString 转换为 std::string