说我有这两个功能:
public void Test(int Param1)
{
//do something
}
public void Test(int Param1, int Param2 = 1)
{
//do something
}
如果我执行此操作: 测试(2)
编译器如何知道要执行哪个函数?它可以是任何一个:第一个只接受1个参数,第二个接受1或2个参数。
事实上,我很惊讶上面的代码甚至可以编译。