-4

有人可以帮我弄清楚为什么“Paycheck combineChecks”功能没有做任何事情吗?它只是跳过它。当我运行它时,它会在打印出来后结束,并且不执行任何组合检查功能。我很感激。

4

3 回答 3

4
Paycheck combineChecks(Paycheck p1, Paycheck p2);

...不是对函数的调用,而是前向声明

它基本上只是意味着“编译器,假设某处有使用此签名定义的函数,您可以稍后使用”。

编辑:要实际调用该函数,首先需要将两个薪水结合起来,您可以传入,让我们称它们为paycheck1and paycheck2,然后就可以了;

Paycheck combined = combineChecks(paycheck1, paycheck2);
于 2013-03-06T20:49:11.130 回答
3
int main() {
    // ...
    Paycheck combineChecks(Paycheck p1, Paycheck p2);

那里的最后一行代码声明了一个调用的函数,该函数combineChecks接受两个类型的参数Paycheck并按值返回另一个Paycheck对象。这不是函数的调用

于 2013-03-06T20:50:22.873 回答
2

这不是调用:

 combineChecks(Paycheck p1, Paycheck p2);

但是是函数的重新声明(它已经在上面声明了main())。我不确定建议更改为什么,因为程序中只有一个Paycheck名为pay的实例,而该函数需要两个。它还返回一个Paycheck需要使用的实例。

于 2013-03-06T20:48:51.460 回答