gpt4 book ai didi

c - stderr 未声明的标识符

转载 作者:太空狗 更新时间:2023-10-29 17:08:50 30 4
gpt4 key购买 nike

void
argmatch_valid (const char *const *arglist,
const char *vallist, size_t valsize)
{
size_t i;
const char *last_val = NULL;

fprintf (stderr, _("Valid arguments are:"));
for (i = 0; arglist[i]; i++)
if ((i == 0)|| memcmp (last_val, vallist + valsize * i, valsize))
{
fprintf (stderr, "\n - `%s'", arglist[i]);
last_val = vallist + valsize * i;
}
else
{
fprintf (stderr, ", `%s'", arglist[i]);
}
putc ('\n', stderr);
}

尽管我在我的 .c 文件中包含了 stdio.h,但我得到了以下内容

warning C4013: 'fprintf' undefined; assuming extern returning interror C2065: 'stderr' : undeclared identifierwarning C4013: 'putc' undefined; assuming extern returning int

我想通过#pragma warning( disable :4013 ) 禁用警告,但想编译干净的代码。

提前致谢

最佳答案

虽然 stdio.h 应该可以工作,但有时您还需要包含 stdlib.h。包括以下内容:

#include <stdio.h>
#include <stdlib.h>

相同 .C 文件的顶部声明这两个包含,您上面的 argmatch_valid 函数已定义。

我的 Crystal 球表明你认为你包含的 stdio.h 被注释包裹或在另一个预处理器部分中被删除。也许您可以发布整个源文件。有人可能会发现真正的错误。

关于c - stderr 未声明的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15289613/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com