在 C 中找不到 memtest
memtest not found in C
我正在尝试清除数组并认为我会使用 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。
首先,标准C中没有memtest()
这样的东西。你可能是指memset()
。
如果在修正那个小错字后,您仍然有这样的隐式声明问题,请检查您是否包括了<string.h>,因为那是memset()
和朋友一起住
您可能将 memset
函数与名为 memtest
的 non-existent 函数混淆了
编译器抱怨没有 header 定义 memtest
函数,因此假定它是通过在没有前向定义的情况下在同一编译模块中实现而隐式定义的。
This Link 是一些关于 C99 中的警告和更改的简短文档。
要消除此类警告,即使对于现有函数,也需要在使用该函数的 C 文件中包含正确的 header。在 memset
的情况下,即 <string.h>
header.
我正在尝试清除数组并认为我会使用 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。
首先,标准C中没有memtest()
这样的东西。你可能是指memset()
。
如果在修正那个小错字后,您仍然有这样的隐式声明问题,请检查您是否包括了<string.h>,因为那是memset()
和朋友一起住
您可能将 memset
函数与名为 memtest
编译器抱怨没有 header 定义 memtest
函数,因此假定它是通过在没有前向定义的情况下在同一编译模块中实现而隐式定义的。
This Link 是一些关于 C99 中的警告和更改的简短文档。
要消除此类警告,即使对于现有函数,也需要在使用该函数的 C 文件中包含正确的 header。在 memset
的情况下,即 <string.h>
header.