我试图清理一个数组,并考虑使用memtest()。
我用它是这样的:memtest(ptr->arr, 0, sizeof ptr->arr)。ptr是一个指向结构的指针,arr包含100个元素。
但是,我得到了这个错误:
warning: implicit declaration of function 'memtest' is invalid in C99 [-Wimplicit-function-declaration]我需要导入库吗?我进口了stdio.h,stdlib.h和ctype.h。
发布于 2015-09-09 23:18:35
首先,在标准C中没有像memtest()这样的东西,您可能是指memset()。
如果在修复这个小错误之后,仍然存在这样的隐式声明问题,请检查是否包含,因为这是memset()和朋友所在的。
发布于 2015-09-09 23:20:06
您可能已经将memset函数与不存在的称为memtest的函数混淆了。
编译器抱怨没有定义memtest函数的头,因此假定它是通过在同一编译模块中实现而不进行前向定义而隐式定义的。
这个链接是一些关于C99中的警告和更改的简短文档。
为了消除这些警告,即使对于存在的函数,也需要在使用函数的C文件中包含正确的标头。在memset的情况下,这是<string.h>头。
https://stackoverflow.com/questions/32490555
复制相似问题