【发布时间】:2021-01-08 14:06:00
【问题描述】:
出于问题的目的,我没有报告所有代码,而只是报告了重要的细节。 我有这个功能:
void foo(/* SOME OTHER ARGS */ int* len);
这个函数(我不能编辑也不想编辑,因为在其他情况下我需要len)创建一个文件并相应地修改len 参数。在某些情况下我根本不需要len,因此我的问题是:有没有办法传递一个硬编码的虚拟参数而不为此目的声明一个虚拟变量?
【问题讨论】:
-
如果
foo允许,你可以只传递NULL。如果foo不允许,则需要一个有效地址。 -
为什么你不能声明一个虚拟参数?名为“dummy”的变量是自记录代码的完美示例。通常编写函数以接受 NULL 作为可选参数。
-
是否允许修改函数实现(不是函数prototype)?
标签: c arguments parameter-passing