I saw this type here. I believe he's trying to create a variable pf
for a member pointer type-erased (that's why there's void*
there). I then noticed this type signature in similar such classes.
But according to isocpp a non-static member pointer type is defined like this:
int (Fred::*)(char,float)
(for some class Fred
)
and a function pointer type is defined like this:
int (*)(char,float)
Therefore one would create a member pointer variable mp
like this:
int (S::*mp)(int) = nullptr;
Maybe this void*
represents this*
and its another way to define a member pointer variable by defining a function pointer variable? Is this possible?
What is R(*pf)(void*, Args...)
?