有人可以帮我弄清楚为什么'Paycheck combineChecks'功能没有做任何事情吗?它只是跳过它。当我运行它只是在打印出来后结束并且没有执行任何组合检查功能。我很感激。
答案 0 :(得分:4)
Paycheck combineChecks(Paycheck p1, Paycheck p2);
...不是函数的调用,而是forward declaration。
它基本上只是意味着"编译器,假设某处有使用此签名定义的函数,您可以稍后使用"。
编辑:要实际调用该功能,首先需要两个薪水组合,您可以传入,让我们称呼他们paycheck1
和paycheck2
,然后就行了; < / p>
Paycheck combined = combineChecks(paycheck1, paycheck2);
答案 1 :(得分:3)
int main() {
// ...
Paycheck combineChecks(Paycheck p1, Paycheck p2);
最后一行代码声明一个名为combineChecks
的函数,该函数接受类型为Paycheck
的两个参数,并按值返回另一个Paycheck
对象。这是函数的不 invokation 。
答案 2 :(得分:2)
这不是调用:
combineChecks(Paycheck p1, Paycheck p2);
但是是函数的重新声明(它已经在main()
之上声明)。我不知道建议改变什么,因为程序中只有Paycheck
的一个实例,称为pay
,该函数需要两个。它还返回需要使用的Paycheck
实例。