【发布时间】:2011-11-28 16:53:55
【问题描述】:
抱歉,如果这是一个重复,但如果是,我找不到它。
在C语言中,你可以定义多个函数名相同但参数不同的函数吗?我来自 C# 背景。在 C# 中,下面的代码是完全合法的。
//我们的第一个函数
int MyFunction()
{
//Code here
return i;
}
int MyFunction(int passAParameter)
{
// Code using passAParameter
return i;
}
在我的具体情况下,我想创建一个在参数列表末尾有一个可选参数(即 int)的函数。这个可以吗?
【问题讨论】:
-
不,sir 函数重载在 C 中是不允许的,但在 C++ 中是允许的。
-
虽然链接中的类似问题可能对进行某种重载有一些提示,但您可能应该远离它。与 C# 不同,重载在 C 中不是惯用的,创建两个函数
MyFunction和MyFunctionWithParameter是完全可以接受的 -
由于已关闭,我无法给您“答案”,但必须将其放在评论中。可选参数的特殊情况可能与宏技巧有关。看看 P99,p99.gforge.inria.fr