Я пытаюсь сохранить указатель на функцию-член в структуре, которая будет использоваться для вызова функции позже в моей программе.
Что-то вроде этого:
// abc.h
namespace XYZ {
typedef void func(const uint8_t *buf, int len);
struct holder
{
// other members
func * storePtr;
}
} // end of namespace
другой файл как:
// pqr.h
#include abc.h
namespace XYZ {
class pqr {
// data members and other functions
void func1(const uint8_t *buffer, int length);
void func2(func *section);
void func3();
}
} // end of namespace
Теперь мой файл cpp должен хранить экземпляр этого func1 в моем элементе структуры storePtr.
// app.cpp
#include pqr.h
void pqr::funct3()
{
// Do something
func2(func1);
}
void pqr::func2(func * section)
{
holder h;
h.storePtr = section;
}
Но я получаю ошибку компиляции в строке "func2 (func1);" как "ошибка C3867: 'pqr::func1': функция вызывает отсутствующий список аргументов; используйте '&pqr::func1' для создания указателя на элемент"
Я использовал &pqr:: для определения области, но это также не решает мою проблему, и я не могу понять, что делать.