Я пытаюсь сохранить указатель на функцию-член в структуре, которая будет использоваться для вызова функции позже в моей программе.
Примерно так:
// 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 :: для определения области, но это также не решает мою проблему, и я не могу понять, что делать.