gpt4 book ai didi

将类型转换为 va_arg 返回

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:37 26 4
gpt4 key购买 nike

我可以将类型转换为 va_arg 返回示例吗?据我所知,va_arg 无法读取返回 char/short int 类型

if (flags->size == 0)
u->s = (char)va_arg(pt, int);
if (flags->size == 1)
u->s = (short int)va_arg(pt, int);

最佳答案

标准规定

The va_arg macro expands to an expression that has the specified type and the value of the next argument in the call.

( C2011 7.16.1.1/2 )

这样的表达式是由宏扩展产生的,这一事实与它的使用方式无关。特别是,当 va_arg 指定的类型为 int 时,生成的 int 类型的表达式当然可以转换为其他整数类型,前提是va_arg() 的行为已定义(大致意味着 int 与实际参数的提升类型兼容)。

是的,您可以转换 va_arg() 的结果。

关于将类型转换为 va_arg 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697960/

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