调用的对象类型 'double' 不是 report() 函数的函数或函数指针

called object type 'double' is not a function or function pointer for a report() function

本文关键字:函数 指针 double 对象 类型 调用 不是 report      更新时间:2023-10-16

我正在尝试创建一个程序,当用户输入商品的批发和加价百分比时,该程序将计算零售价格。我确信除了第15行"double-report=report(retalPrice("中给出错误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;
}

您调用report类似于:

double report = report(retailPrice);

实现report类似于:

double report(double retailPrice)

但您声明report类似于:

double report();

其中一个与其他不同;(修正您的声明以包含double参数。