فرستادن کلاس به thread در c++11 - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

فرستادن کلاس به thread در c++11

+2 امتیاز

سلام ...خسته نباشید. من می خوام یک thread بسازم بعد یک کلاس به عنوان ورودی بهش بفرستم ولی هر کار کردم نتونستم مشکل چیه ؟!

class MyClass
{ 
}; 
int main()
{ 
    MyClass m; 
    std::thread t(m); 
    t.join(); 
}

 

سوال شده اسفند 11, 1392 بوسیله ی L<>L (امتیاز 21)  
دوباره تگ گذاری شد اسفند 12, 1392 بوسیله ی BlueBlade

1 پاسخ

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

برای استفاده از کلاس باید کلاستون قابل صدا زدن هم باشه یعنی باید operator() رو overload کنین

class MyClass
{
public:
    void operator() ()
    {
        func1();
        func2();
    }
private:
    void func1()
    {
        //code
    }
    void func2()
    {
        //code
    }
};

int main()
{
    MyClass m;
    std::thread t(m);
    t.join();
}

 

پاسخ داده شده اسفند 11, 1392  بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اسفند 11, 1392 بوسیله ی L<>L
...