C错误冲突类型
我有以下错误C错误冲突类型,c,C,我有以下错误 error : conflicting types for 'sprintf' error : conflicting types for 'vsprintf' error : conflicting types for 'vprintf' error : conflicting types for 'select' 在我的头文件中,代码是 extern char *sprintf(char*,const char*,... ) 实际上我包括#包括 但为了慰藉,我们写的是 #
error : conflicting types for 'sprintf'
error : conflicting types for 'vsprintf'
error : conflicting types for 'vprintf'
error : conflicting types for 'select'
在我的头文件中,代码是
extern char *sprintf(char*,const char*,... )
实际上我包括#包括
但为了慰藉,我们写的是
# ifndef HPUX
extern char *sprintf(char*,const char*,... )
不要手动声明标准函数,只包括
(而且,如果您坚持自己声明它们,至少要正确使用类型…不要手动声明标准函数,只需包含
(而且,如果您坚持自己声明这些函数,至少要正确地输入它们……)而不是自己声明函数,您应该只包含
。(如果您不是试图声明标准库中众所周知的sprintf
函数,而是一些自定义函数,那么您应该为函数选择不同的名称)
您的声明会导致类型冲突,因为同名的标准库函数返回的是ìnt
,而不是char*
,而不是您自己声明的函数,您应该只包含
。(如果您不是试图声明标准库中众所周知的sprintf
函数,而是一些自定义函数,那么您应该为函数选择不同的名称)
您的声明会导致类型冲突,因为同名的标准库函数返回ìnt
,而不是char*
,除非您告诉编译器忽略标准包含(和系统C库),否则您可能只想包含标准头,即(第一个回答的)所说的
如果您使用的是其他一些C库,那么仍然可以包含标准头,但要将不同的包含路径传递给编译器
你可能会喜欢阅读你想要完成的事情 除非您告诉编译器忽略标准包含(和系统C库),否则您可能只想包含标准头,如(第一个回答的)所述
如果您使用的是其他一些C库,那么仍然可以包含标准头,但要将不同的包含路径传递给编译器
你可能会喜欢阅读你想要完成的事情 根据,
将sprintf
定义为返回char*
。该函数的定义似乎仅用于设备驱动程序开发。如果您没有实现设备驱动程序,请使用标准的C版本(返回int
),包括
,不要在头文件或源代码中的任何地方再次声明它。根据
将sprintf
定义为返回字符*
。该函数的定义似乎仅用于设备驱动程序开发。如果您没有实现设备驱动程序,请使用标准C版本(返回int
),包括
,不要在头文件或源代码中的任何地方再次声明它。是的,第9f节手册页类似于内核中定义的函数,不在程序可以链接的用户空间库中。是的,像这样的第9f节手册页是针对内核本身定义的函数的,而不是在程序可以链接的用户空间库中。