c ++跳过一个函数?

时间:2013-03-06 20:45:56

标签: c++

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

3 个答案:

答案 0 :(得分:4)

Paycheck combineChecks(Paycheck p1, Paycheck p2);

...不是函数的调用,而是forward declaration

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

编辑:要实际调用该功能,首先需要两个薪水组合,您可以传入,让我们称呼他们paycheck1paycheck2,然后就行了; < / 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实例。