Я использую API, который принимает только недействительные функции обратного вызова:Как избежать повторения функций обратного вызова (C++)
void (* CALLBACKFUNC) (void);
Я хочу, чтобы вызвать функцию обратного вызова с параметрами, вместо того, чтобы писать несколько функций обратного вызова с тем же функциональность для разных входных параметров. Допустим, мне нужно функцию обратного вызова, как
void myFunc (int a);
UPDATE: дополнительная информация: вызов функции обратного вызова, основываясь на событиях, должно быть, как:
event1 -> calling myFunc(1);
event2 -> calling myFunc(2);
...
Число событий ограниченный и MAX предопределен (если это помогает), но я не хочу реплицировать функциональность (фактически, в реальном случае есть несколько входных значений и репликация вызова функции fo r различные комбинации - непростая задача)
P.S: Я также могу использовать C++ 11. Какие-либо предложения?.
Что вы пытаетесь? Пожалуйста, покажите нам некоторый (релевантный) код. И если у вас есть ошибки, пожалуйста, покажите их. –
Я попытался передать функтор вместо указателя функции, который, очевидно, получил ошибку: невозможно преобразовать аргумент x из 'FUNCTOR_TYPE' в 'CALLBACKFUNC' –
Вы можете использовать 'std :: function' и' std :: bind' для настраиваемые функции обратного вызова. Это функции C++ 11. –