Не могу понять, как исправить две ошибки

Не могу понять, почему выдает ошибку "выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)", а так же выдает ошибку "результатом вычисления фрагмента не является функция, принимающая 4 аргументов". все в строке " sm=sum(x, 5, t, k);

 #include<iostream>
 #include <iomanip>
 #include <cmath>
 using namespace std;
 void inputv(double x[], int n)
 {
 cout << "Введите координаты массива:";
 for (int i = 0; i < n; i++)
 {
     cin >> x[i];
 }
 }
 void outputv(double x[], int n)
 {
  int i = 0;
  cout << "Массив:";
  for (int i = 0; i < n; i++);
 {
    cout << x[i] << "  ";

 }
 cout << endl << endl;
 }
 //Находим наибольший  отрицательный элемент
 void pervoeotr(double x[], int n, double& potr, int& t)
 {
  int i = 0;
  for (i = 0; i < n; i++)
 {
      if (x[i]<0 && (potr <x[i]))
    {
        potr = x[i];
        t=i;
    }
 }
}
  //Находим наименьший элемент 
  void vtoroeotr(double x[], int n, int& votr, int& k)
{
 int i;
 votr = 0;
 for (int i = 0; i < n; i++) {
     if (votr > x[i]) {
         votr = x[i];
         k = i;
      }
   }
}
 double sum(double x[], int n, int t, int k)
{
 int i;
 double sum;
 if (t < k) {
     sum= 0;
     for (i = t + 1; i < k; i++)
         sum += x[i];
 }
 else {
     sum = 0;
     for (i = k + 1; i < t; i++)
         sum += x[i];
 }
 return sum;
 }
 void main()
 {
 setlocale(LC_ALL, "rus");
 double x[5], potr;
 int n, sum, votr, t, k;
 inputv(x, 5);
 outputv(x, 5);
 pervoeotr(x, 5, potr, t);
 cout << "Максимальное значение массива:" << potr << endl;
 cout << "1 номер отрицательного элемента:" << t << endl;
 vtoroeotr(x, 5, votr, k);
 cout << "Минимальное  значение массива:" << votr << endl;
 cout << "2 Номер отрицательного элемента:" << k << endl;
 double sm;
 sm=sum(x, 5, t, k);
 cout << "Сумма " << sm << endl;

Ответы (1 шт):

Автор решения: Harry

У вас есть

 double sum(double x[], int n, int t, int k)
 ...

и

void main()
{
    ... 
    int n, sum, votr, t, k;

Скажите, какое имя из двух sum компилятор использует в строчке

sm=sum(x, 5, t, k);

в функции main()?

→ Ссылка