Я предполагаю, что есть что-то очень простое, что мне не хватает в std::async
. Я пытаюсь запустить 2 метода void
асинхронно, без возвращаемых значений.
#include <future>
class AsyncTestClass {
public:
void Initialize()
{
std::async(&AsyncTestClass::AsyncMethod1);
std::async(&AsyncTestClass::AsyncMethod2);
}
void AsyncMethod1()
{
//time consuming operation
}
void AsyncMethod2()
{
//time consuming operation
}
};
Но получаю ошибку при вызове моего AsyncMethod1
или AsyncMethod2
в пределах std:async
:
Замена не удалась: type 'typename std:conditional‹sizeof....(ArgTypes) == 0, std::_Invoke_traits_Zero‹void, typename std::decay..... неправильно сформирован с _Fty = void (AsyncTestClass:: *)(), _ArgTypes =
Как правильно использовать std:async
с void
методами без параметров? Примеры, которые я вижу, кажутся похожими на то, как я их использую, но у меня это не работает.