class Program
{
public void x(int a, float b , float c)
{
Console.WriteLine("Method 1 ");
}
public void x(float a, int b,int c)
{
Console.WriteLine("Method 2 ");
}
static void Main(string[] args)
{
Program ob = new Program();
ob.x(1, 2, 3);
}
}
ob.x(1,2,3)
показываетC# перегружать неоднозначность
Ошибка 1 Вызов неоднозначен между следующими методами или свойствами: '
OverloadDemo.Program.x(int, float, float)
' и 'OverloadDemo.Program.x(float, int, int)
'C: \ Users \ Public \ Видео \ SampleVideos \ Projectss \ OverloadDemo \ OverloadDemo \ Program.cs 25 13 OverloadDemo
Способ 2 has two arguments of
int type and
Способ 1 has two argumets of
тип int. Таким образом, метод 1 должен быть одобрен.
Почему возникает ошибка?
Я не мог найти что-нибудь в C# спецификации, что бы сказать, что число неявных преобразований, необходимых для удовлетворения вопросов параметров метода , – MarcinJuraszek
Тогда по какой причине метод 1 не одобрен? – fz8975
Потому что спецификация C# не говорит, что нужно? – MarcinJuraszek