我有这个功能:
void print(THashEntry *entry, ...)
{
va_list parameters;
va_start(parameters, entry);
while (true)
{
THashEntry *currentEntry = va_arg(parameters, THashEntry *);
if (!currentEntry)
{
break;
}
printf("%s\n", currentEntry->value);
}
va_end(parameters);
}
我将这些条目的地址传递给函数,然后我想访问它们的成员“值”并打印它。
但是,当我尝试通过 va_arg 获取参数时,它返回的不是第一个参数,而是第二个参数,当另一个循环进入时,它是分段错误。