【发布时间】:2015-05-06 19:31:40
【问题描述】:
我有这样的功能:
void funcName(arg1, arg2, arg3[ = someDefault], ... , argN)
我有一个类似的结构
struct Args
{
arg1;
...
argN;
}
如果我无法更改函数签名,是否有任何干燥且漂亮的解决方案可以从函数 args 初始化结构并将结构发送到函数?
【问题讨论】:
-
查看this question中的第二个答案,它可能会帮助你做你想做的事。
-
C 还是 C++?然后,您是在使用 va_args 还是如何传递变量?你知道你有多少吗?或者它是完全可变的?我猜这是一个固定的金额,但可能是错误的。
-
@Khaldor,是的,it
s fixed amount. But its 可以更改一段时间!我想实现两个目标:我想在我可以操作的地方(它更舒服)和我想得到编译错误,当出现问题时(例如在对象结构中附加文件而不改变函数接口)。关于 C++ 的问题,但我认为如果有任何纯 C 的解决方案,它也适用于 C++。