typedef void (*start)(int a, char b, void *c)
定義的func為
void start(int a, char b, void *c)
class ddd{
public:
void start(int a, char b, void *c);
};
也等於
void ddd::start(int a, char b, void *c)
function
)void output(start _start)
需要把void ddd:start(...)
轉換為void start(...)
不曉得要如何轉換,應該會像是output((start)ddd::start);
但轉換都不正確
argument of type "void (ddd::*)(int a, char b, void *c)" is incompatible with parameter of type "start"
or
invalid type conversion
有幾個困難點
function
不能更改start
放在 ddd
的 class
裡面感謝各位大大
ddd obj;
output(reinterpret_cast<start>(&ddd::start));