所遇到的代码行如下所示我想它可能是一个投地返回void,并采取了空指针的函数指针,是正确的?
(void (*)(void *))SGENT_1_calc
所遇到的代码行如下所示我想它可能是一个投地返回void,并采取了空指针的函数指针,是正确的?
(void (*)(void *))SGENT_1_calc
是的,它是正确的。 我觉得不是很可读,所以我建议声明必须指出函数的签名:
typedef void sigrout_t(void*);
我也有编码约定结尾类型rout_t
是这种类型的功能特征。 否则,可能会将其命名为,因为_t
是一个后缀保留通过的Posix
后者对我铸件,也许这样称呼它
((sigrout_t*) SGENT_1_calc) (someptr);
的确是这样,功能应该这样看
void func(void*);
但声明中缺少一个目标,因为投给什么也没用。 因此,它应该是这样的
func = (void (*)(void *))SGENT_1_calc;
是的,这是因为你已经说一个演员。
它是可以分配到一个功能与原无效funcname的(无效*)这里SGENT_1_calc的函数指针可以直接分配给funcname的