【发布时间】:2014-05-15 12:46:41
【问题描述】:
我正在用 C 重新编码 printf。所以我正在为每种类型的变量调用函数,所以我在 .h 中对所有这些变量进行了原型化。但是我收到了这个错误:
main.h:22:13: error: unknown type name ‘va_list’
int dispdi(va_list ap);
解决方案?
【问题讨论】:
-
你
#include <stdarg.h>了吗? -
由于您在 .h 文件中引用 va_list,因此最好先在其中定义该类型(通过包含 stdarg.h)。
-
无论您在哪里使用可变参数函数,都可以看到 va_list、va_start、va_arg 等的定义。人。必须可见。 #include
的建议是准确的(取决于您的环境)您可以将其包含在 .h 或 .c 中,具体取决于它将在何处为您的可变参数函数提供可见性。
标签: c printf variadic-functions