如何在C ++中将const引用的共享指针数组传递给其他函数

问题描述

我想将const引用的共享指针数组传递给另一个类。

如何使用函数参数?

下面是示例。

// < BaseClass >
 std::shared_pointer<queue> queue_[3];

// init 0,1,2
 queue[0] = std::make_shared<queue>

// move queue to inner class
// Is this right usage?
std::vector<const std::make_shared<queue>&> queue_vector;
queue_vector.emplace_back(queue[0]);
queue_vector.emplace_back(queue[1]);
queue_vector.emplace_back(queue[2]);

 InnerClass.init(queue_vector)
<InnberClass>
    // I don't know how to use func param
    // this is normal usage to pass shared pointer
    init(const std::shared_pointer<queue>& queue)
    {
      queue_ = queue;
    }
    // array of share pointer(const ref) to func
    init(const std::vector<const std::make_shared<queue>&>& queue_vector)
    {
        queue_array_[0] = queue_vector.at(0);
        queue_array_[1] = queue_vector.at(1);
        queue_array_[2] = queue_vector.at(2);
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...