У меня есть такая функция
void VideoRender::timer_start(std::function<void(void)> func, unsigned int interval) {
std::thread([func, interval]() {
while (true) {
auto x = std::chrono::steady_clock::now() + std::chrono::milliseconds(interval);
func();
std::this_thread::sleep_until(x);
}
}).detach();
}
Есть вот такой метод который я передаю в эту функцию
void VideoRender::loadNewData() {
__android_log_print(ANDROID_LOG_ERROR, "TRACKERS", "LoadPLY3 ::: %s", "HERE");
}
И вот так я это все вызываю
timer_start(loadNewData, 1000);
Получаю вот такую ошибку при компиляции
25: error: reference to non-static member function must be called; did you mean to call it with no arguments?
Что делаю не так?
Нарисуйте статическую функцию и отдайте её.
class VideoRender{
..
static void st_loadNewData(VideoRender & me){me.loadNewData();}
..
};
timer_start(VideoRender::st_loadNewData, 1000);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей