gpt4 book ai didi

c++ - 宏传递了 2 个参数,但只需要 1 个

转载 作者:行者123 更新时间:2023-11-30 00:37:37 25 4
gpt4 key购买 nike

我的代码没有成功构建并出现以下错误消息:

macro "hton_us" passed 2 arguments, but takes just 1

它出现在这一行:

hton_us( &fi.size, 1 );

这里是对 hton_us 的引用

void hton_us( iu16 *us, iu8 num )
{
iu16 local;

while( num-- ) {
local=*us;
*us++=swap_us(local);
}
}

我读到一些类似的问题,告诉我使用 typedef 但它对我没有帮助。

最佳答案

使用一些 C 预处理器技巧,您可以跳过宏而只调用函数:

(hton_us)(&fi.size, 1);

通过将 hton_us 括在圆括号中,它告诉编译器无法展开此宏,因为它没有使用任何参数调用,因此调用函数。

关于c++ - 宏传递了 2 个参数,但只需要 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954224/

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