在一般情况下,一些问题可以解决该问题。但是,在这种情况下,我所看到的只是一个函数返回的值。自己看看:
第三行(void) signal (SIGALRM, myAlarm);
应该执行系统调用signal
,如果我理解正确的话,它会返回指向函数的指针。
在一般情况下,我可以看到为什么将函数指针强制转换为void
;但是,除了C的隐式转换外,该行本身对返回的值“在内存中”完全不起作用,因为它只是一个值。
我想念什么吗?(void)
实际上在第三行(以及程序的其余部分)是否有任何作用?即使函数指针的类型不同于void的类型,第三行也不会仅对返回值起作用,而不是(假设地)存储一个返回值吗?简而言之,这是必要的还是多余的?
这是为了禁止编译器警告有关未使用的返回值(来自函数调用)的警告。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句