Я хотел бы запустить тип 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