Здраствуйте всем, у меня есть метод который должен вызывать указанную функцию когда совпадает дата и также можно дополнительно указать делать ли новый поток в котором будет отслеживаться совпадает ли дата, но у меня появляется ошибка.
Вот код:
template<class FuncTy, class... Args>
void EventOnDate(int16_t day = 0, int16_t month = 0, int64_t year = 0, TypeEra era = AD, bool CreateThreadAndAlwaysCheck = false, std::function<FuncTy> Event = nullptr, Args&&... args) const {
year = era == AD ? year : -year;
if (this->day == day && this->month == month && this->year == year) {
if (Event) {
Event(std::forward<Args>(args)...);
}
else {
if (CreateThreadAndAlwaysCheck) {
std::thread EventOnDateThread(EventOnDateThread, day, month, year, era, true, Event, std::forward<Args>(args)...);
EventOnDateThread.detach();
}
}
}
}
и ошибка: std::thread::thread: нет перегруженной функции, принимающей 8 аргументов
Я конечно понимаю про что мне сообщает ошибка, но в моей функции которую я хочу отправить в новый поток именно столько аргументов.
Спасибо заранее!