我正在尝试编写一个具有可选参数的 C 函数,如果该参数未“使用”,则它具有默认值。
int DumpData(int a, int b, int c=0)
{
if(c != 0)
{
//stuff
}
//banana
}
/* Function Call */
DumpData(1, 2);
有什么办法可以解决这个问题吗?
最佳答案
不,在 C 中无法做到这一点。最好的办法是拥有单独的函数:
int DumpData(int a, int b)
{
return DumpDataABC(a, b, 0);
}
int DumpDataABC(int a, int b, int c)
{
...
}
或者,使用 C++ 而不是 C。
关于接受默认参数的 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949886/