我正在尝试创建一个程序,该程序将在用户输入商品的批发和加价百分比时计算零售价。我确定除第15行外,所有内容都是正确的,其中“ double report = report(retailPrice)”中出现错误called object type 'double' is not a function or function pointer for a report() function
。
我尝试将几乎所有报告变量甚至函数重命名为不同的名称,但是仍然会导致完全相同的错误。当完全省略report()函数并将其仅替换为main()中的cout语句时,这似乎很好用,但是不幸的是,无论它有多毫无意义,赋值都需要它。
#include <iostream>
#include <iomanip>
using namespace std;
double getWholeSale();
double getMarkup();
double calculateRetail(double, double);
double report();
int main()
{
double wholeSale = getWholeSale();
double markup = getMarkup();
double retailPrice = calculateRetail(markup, wholeSale);
double report = report(retailPrice);
cout << report;
return 0;
}
//**************************
double getWholeSale()
{
double wholeSale;
cout << "Enter the item's wholesale: ";
cin >> wholeSale;
while (wholeSale < 0)
{
cout << "Wholesale must be a positive number: ";
cin >> wholeSale;
}
return wholeSale;
}
//**************************
double getMarkup()
{
double markup;
cout << "Enter the item's markup percentage: ";
cin >> markup;
while (markup < 0)
{
cout << "Markup percentage must be a positive number: ";
cin >> markup;
}
return markup;
}
//*************************
double calculateRetail(double markup, double wholeSale)
{
double retailPrice;
double markupPercentage = markup / 100;
retailPrice = (wholeSale * markupPercentage) + wholeSale;
return retailPrice;
}
//*************************
double report(double retailPrice)
{
cout << "The retail price is: $" << fixed << showpoint << setprecision(2) << retailPrice;
}
答案 0 :(得分:1)
您像这样呼叫report
:
double report = report(retailPrice);
您可以像这样实现report
:
double report(double retailPrice)
但是您像这样声明report
:
double report();
其中一个与其他不一样;)修正您的声明以包含一个double
参数。