Я читал, что это можно сделать с помощью std :: this_thread :: sleep_for и std :: async , но это не работает для меня.
Вот вызываемая функция:
bool Log::refresh_data()
{
std::this_thread::sleep_for( std::chrono::minutes( 1 ) );
std::vector<std::string> file_info = this->file.read_pending_if();
for( auto line : file_info )
{
this->append( line );
}
return true;
}
, которая вызывается из другой функции.В приведенном ниже коде есть два примера неудачного использования:
void MVC::refresh_data()
{
// Error C3867 'Log::refresh_data': non-standard syntax; use '&' to create a pointer to member
std::future<bool> retCode = std::async( this->model_log.refresh_data, 0 );
std::future<bool> retCode = std::async( this->model_log.refresh_data(), 0 );
}
Первоначально bool Log :: refresh_data () был void Log :: refresh_data () но std :: async не похоже на возврат по пустоте ...