У меня есть отдельный класс для обработки потоков, и есть функция, необходимая для создания потока и повторения функции для определенного интервала
void timer_start_custom(std::function<void(string, string&, vector<CustomObject>&)> func, string filename, string& lastline, vector<CustomObject>& dict, unsigned int interval){
std::thread([func, interval, filename, lastline, dict](){
while (true){
auto x = std::chrono::steady_clock::now() + std::chrono::milliseconds(interval);
func(filename, lastline, dict);
std::this_thread::sleep_until(x);
}
}).detach();
}
однако, прямо сейчас компилятор compain:
No matching function for call to object of type 'const
std::function<void (string, string &, vector<RowData> &)>' (aka
'const function<void (basic_string<char, char_traits<char>, allocator<char> >,
basic_string<char, char_traits<char>, allocator<char> > &, vector<RowData> &)>')
Я знаю, если поместить функцию в тот же файл, то я могу пропустить функцию как параметр, но мне все еще очень любопытно и упрямо знать, как это сделать, так как я буду вызывать timer_start_custom
в другом файл и передать в разные функции