#pragma once #include #include #include // Декларируем тип - сигнатуру метода , который мы готовы принять в данном случае это // должен быть метод без результата и без параметров. // Новый тип мы называем AsynсActionCb - хотя можешь назвать вообще как нравиться а что значит callBack typedef std::function AsyncActionCb; //метод без результата и параметров typedef std::function AsyncParamActionCb; //метод без результата и параметров class AsyncActions { private: long count; AsyncActionCb _cb; AsyncParamActionCb _pcb; public: AsyncActions(); void loop(); void setCallback(AsyncActionCb cb) { //передаем внутрь класса функцию любую void функцию без агрументов _cb = cb; } void setCallback(AsyncParamActionCb cb) { //передаем внутрь класса функцию любую void функцию с аргументами _pcb = cb; } }; extern AsyncActions* async;