#include <iostream>
typedef void(*call_back)( void*, int, int, int);
void GetProcess(call_back cb, void* cb_class)
{
float process = 0.8;
if (cb)
{
cb(cb_class, 0, 1, 1);
}
}
void callback(void* cl, int errno, int a, int b)
{
printf(" %dn", errno);
}
int main(int argc, char** argv)
{
GetProcess(callback, nullptr);
return 0;
}
这么一段代码,在msvc和g++都编译不过,g++的报错是:
error: invalid conversion from ‘void (*)(void*, int* (*)(), int, int)’ to ‘void (*)(void*, int, int, int)’ [-fpermissive]
请各位看看,给解释一下~