如何将std :: make_shared <t>用于std :: vector <std :: shared_ptr <t>&gt;没有push_back?

时间:2016-08-20 05:17:23

标签: c++ c++11 vector stl shared-ptr

所以我有一个如下定义的类:

template<typename T>
class A
{
    T data;
};

现在我想在没有push_back的情况下动态创建A的共享指针向量,以便我可以并行执行。

我正在做的是以下内容:

int k = 8;
std::vector<std::shared_ptr<A<int>>> myvec(k);
for(int i=0; i<k; ++i)
{
    myvec[i] = std::make_shared<A<int>>(new A<int>); // error here
}

好吧,但我收到以下错误:

error C2664: 'A<T>::A(const A<T> &)' : cannot convert parameter 1
from 'A<T> ' to 'const A<T> &'

如何解决这个问题?提前谢谢。

0 个答案:

没有答案
相关问题