这两个声明的类型是否兼容?
void f(char *, char *);
void f(char *restrict, char *restrict);
或类似:
void g(char *);
void g(char *const);
我很难在标准中找到涵盖该问题的任何内容。我最感兴趣的是手动原型化函数是否有效,省略restrict关键字,其中实际类型可能具有restrict限定参数,具体取决于所使用的C版本或其他库的版本。
它们是兼容的:
(C99,6.7.5.3 函数声明符(包括原型)p15)“[...](在确定类型时
兼容性和复合类型,每个参数都用函数或数组声明
type 被视为具有调整后的类型,并且每个参数都使用限定类型声明
被视为具有其声明类型的非限定版本。)”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)