Я использую библиотеку SNMP ++ в своем проекте, и все работает нормально.Тем не менее, есть метод, в котором мне нужно получить обратный вызов в моем файле .mm.Теперь, когда я создаю блок и передаю его этой функции в качестве параметра, он выдает ошибку «Нет подходящей функции-члена для вызова get_bulk».Вот фрагмент кода:
void(^callbackFunc)(int,Snmp*,Pdu&,SnmpTarget&,void*);
callbackFunc = ^(int i,Snmp* s,Pdu& p,SnmpTarget& t,void* v) {
};
snmp.get_bulk(pdu, *target, l_repeaters, l_repetitions,callbackFunc);
Кроме того, вот сигнатура функции для функции "get_bulk":
int Snmp::get_bulk(Pdu &pdu, // pdu to use
const SnmpTarget &target, // destination target
const int non_repeaters, // number of non repeaters
const int max_reps, // maximum number of repetitions
const snmp_callback callback,// callback to use
const void * callback_data) // callback data
{
pdu.set_type( sNMP_PDU_GETBULK_ASYNC);
return snmp_engine( pdu, non_repeaters, max_reps, target,
callback, callback_data);
}
Что я должен передать в типе "обратного вызова"?
Это typedef для SNMP_callback:
typedef void (*snmp_callback)(int reason, Snmp *session,
Pdu &pdu, SnmpTarget &target, void *data);
Я застрял в этом последние 4-5 часов и не могу понять, как решить эту проблему.