我想在單獨的線程中啓動std :: function類型。 我的代碼目前看起來是這樣的:使用變量類型的std :: function運行線程
struct bar
{
std::function<void(int,int)> var;
};
struct foo
{
bar* b;
foo()
{
std::thread t(b->var); //Error attempt to use a deleted function
}
};
爲什麼我會得到嘗試在這裏使用已刪除的功能?
編譯器錯誤告訴你它是哪個被刪除的函數,這將是一個很大的線索。可悲的是,你出於某種原因不能將這部分置於問題之外。 –
你的例子充滿了錯誤。但是像這樣的東西應該可以完成這個工作:'std :: thread(&bar :: var,b,12,12)' – knivil
你有意不把'b'設置成任何東西嗎? – Soren