Почему компиляция данного метода выдает ошибку - C#
Формулировка задачи:
Объясните пожалуйста почему компиллция данного метода выдает ошибку:
The out parameter 'K' must be assigned to before control leaves the current method
Т.е параметр К не получает никакого значения при выполнении метода, с чем это связано?
Вот сам код:
public static void kvadrat(double a, double b, double c, out double K)
{
double e;
Discriminant(a, b, c, out e); // пользовательский метод работает корректно
if (e > 0)
{
K = (-b + Math.Sqrt(e)) / (2 * a) ;
}
else
{
K = ((-b) / (2 * a));
}
}Решение задачи: «Почему компиляция данного метода выдает ошибку»
textual
Листинг программы
public static void kvadrat(double a, double b, double c, out double K)
{
double e;
K = -1;//вот это Вам и предлагали.
Discriminant(a, b, c, out e); // пользовательский метод работает корректно
if (e > 0)
{
K = (-b + Math.Sqrt(e)) / (2 * a) ;
}
else
{
K = ((-b) / (2 * a));
}
}