-4

「Paycheck CombineChecks」関数が何もしていない理由を誰かが理解するのを手伝ってくれますか? その上をスキップするだけです。実行すると、印刷後に終了し、結合チェック機能は実行されません。それは有り難いです。

4

3 に答える 3

4
Paycheck combineChecks(Paycheck p1, Paycheck p2);

...関数の呼び出しではなく、前方宣言です。

基本的には、「コンパイラ、後で使用できるこのシグネチャで定義された関数がどこかにあると仮定してください」という意味です。

編集: 関数を実際に呼び出すには、まず、渡すことができる 2 つの給料を組み合わせる必要がありpaycheck1ますpaycheck2

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

そこでのコードの最後の行は、型の2つの引数を取り、値によって別のオブジェクトを返すという関数を宣言しています。これは関数の呼び出しではありませんcombineChecksPaycheckPaycheck

于 2013-03-06T20:50:22.873 に答える
2

これは呼び出しではありません:

 combineChecks(Paycheck p1, Paycheck p2);

しかし、関数の再宣言です (既に上で宣言されていますmain())。プログラムにはPaycheckと呼ばれるのインスタンスが 1 つしかなく、その関数には 2 つ必要なため、何に変更することを提案すればよいかわかりません。また、使用する必要がpayあるインスタンスも返します。Paycheck

于 2013-03-06T20:48:51.460 に答える