فرستادن unique_ptr به تابع - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

فرستادن unique_ptr به تابع

+2 امتیاز

سلام دوستان چجوری میشه unique_ptr رو به تابع فرستاد ؟

void func(std::unique_ptr<int[]> a)
{
}

int main()
{
    std::unique_ptr<int[]> a(new int[10]);
    func(a);
}

من به شکل بالا نوشتم ولی ارور داد .

سوال شده اسفند 20, 1392  بوسیله ی سعید (امتیاز 92)   5 16 22

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

یا آدرس unique ptr رو بفرست :

void func(std::unique_ptr<int[]> & a)

یا این که از std::move استفاده کن :

int main()
{
    std::unique_ptr<int[]> a(new int[10]);
    func(std::move(a));
   //chon az move estefade kardi az in ja be bad az a nemitooni estefade koni
}

 

پاسخ داده شده اسفند 22, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اسفند 23, 1392 بوسیله ی مصطفی ساتکی
...