参数太少导致函数错误?(c++)

Too few arguments to function error? (C++)

本文关键字:c++ 错误 函数 参数      更新时间:2023-10-16

我不知道为什么这个代码不工作,任何帮助将不胜感激。不管我怎么做,我还是会得到相同的错误。我知道需要传递更多的参数,但我只是不知道我可以添加什么。

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
double getSales();
void findHighest(double sale[]);
int main()
{
 double sales;
 const int ARRAY_SIZE = 4;
 double salesNE, salesSE, salesNW, salesSW;
 double highest = 0;
 string winner;
 string names[ARRAY_SIZE] = {"Northeast", "Southeast", "Northwest", "Southwest"};
 double sale[ARRAY_SIZE];
 int counter = 0;
 cout<<"Input data for the Northeast Division:"<<endl;
 sale[0] = getSales();
 cout<<"Input data for the Southeast Division:"<<endl;
 sale[1] = getSales();
 cout<<"Input data for the Northwest Division:"<<endl;
 sale[2] = getSales(); 
 cout<<"Input data for the Southwest Division:"<<endl;
 sale[3] = getSales();
 findHighest();
 system("PAUSE");
 return 0;
}
double getSales()
{
 double sales;
 validate:
 cout<<"Enter the quaterly sales figures for this division:"<<endl;
 cin>>sales;
 if (sales < 0)
 {
  system("CLS");
  cout<<"Invalid input: sales figures must be higher than $0.00"<<endl;
  goto validate;
 }
 return sales;
}
void findHighest(double sale[])
{
 const int ARRAY_SIZE = 4;
 double highest = 0;
 int counter = 0;
 string winner;
 string names[ARRAY_SIZE] = {"Northeast", "Southeast", "Northwest", "Southwest"};
 while (counter < ARRAY_SIZE)
 {
 if (sale[counter] > highest)
  {
   highest = sale[counter];
   winner = names[counter];
  }
  counter += 1;
 }
 cout<<"The "<<winner<<" division had the highest grossing sales at $"<<highest<<"."    <<endl;
}

findHighest()函数中缺少函数参数

函数减速为void findHighest(double sale[]);

您没有提供参数double sale[]

因此用findHighest(sale)
替换findHighest() [ system("PAUSE")语句前一行]

你的函数调用:

findHighest();

函数声明:

void findHighest(double sale[]);

看到这些"Too few arguments to function"错误有意义吗?这个错误是不言自明的。