C 的基本原理,修订版 5.10,2003 年 4 月:
即使使用显式强制转换,将函数指针转换为对象指针或指向 void 的指针也是无效的,反之亦然。
为什么将函数指针转换为指向 void 的指针是无效的,反之亦然?
允许这种转换的概念/技术障碍是什么?
原因:对标准有更好的理解。
UPD。仅供参考:在 POSIX中, dlsymdlopen()
返回由as打开的有效对象void*
。然后这样void*
的对象通常被转换为函数指针(对于 C 来说是无效的)并被调用。更多详情:链接。