有人可以幫我找出爲什麼'Paycheck combineChecks'函數沒有做任何事嗎?它只是跳過它。當我運行它時,只會在打印出來後結束,並且不會執行任何聯合檢查功能。我很感激。C++跳過一個函數?
回答
Paycheck combineChecks(Paycheck p1, Paycheck p2);
...是不是呼叫的功能,而是一個forward declaration。
它基本上只是意味着「編譯器,假設某個地方有用這個簽名定義的函數,你可以稍後使用」。
編輯:要真正調用函數,首先你需要兩個工資組合,你可以通過,讓我們叫他們paycheck1
和paycheck2
,然後只是做;
Paycheck combined = combineChecks(paycheck1, paycheck2);
這不是一個調用:
combineChecks(Paycheck p1, Paycheck p2);
但是所述函數的重複聲明(它是上述main()
已經聲明)。我不知道要改變什麼建議,因爲在程序中只有Paycheck
的一個實例,名爲pay
,並且該函數需要兩個實例。它還返回一個需要使用的實例Paycheck
。
int main() {
// ...
Paycheck combineChecks(Paycheck p1, Paycheck p2);
的代碼有最後一行聲明被叫combineChecks
函數,接受Paycheck
類型的兩個參數,並通過數值返回另一個Paycheck
對象。那就是不是和調用的函數。
謝謝大衛,我需要做些什麼來使薪水功能開始? – Patrick 2013-03-06 21:12:27
@ user22507:這已經由Joachim處理。 – 2013-03-06 21:54:03
- 1. 跳過一個onblur函數
- 2. 跳過一個函數參數?
- 3. 計劃被跳過函數getline()/ C++
- 4. Codeigniter函數跳過
- 5. 它跳過第二個getline()函數?
- 6. c:用scanf跳過一個元素
- 7. C如果每次都跳過一個
- 8. nsis函數跳過頁碼
- 9. C程序跳過一行
- 10. 我的程序跳過了PHP中的一個函數
- 11. Array.pop in Node跳過並忘記了一個函數項
- 12. 如何跳過一個直接的基類重寫函數
- 13. Google Chrome開發者工具:「跳過下一個函數調用」
- 14. 獲取(string#)函數跳過第一個獲取請求
- 15. 直接跳轉到另一個C++函數
- 16. C#foreach通過跳過一些值
- 17. 編譯器在C++中跳過可變參數模板/函數
- 18. LESS.js + @arguments +跳過一個參數
- 19. C-傳遞TMP值通過函數到另一個函數
- 20. Javascript跳過參數函數調用
- 21. 步計數函數跳過線Swift
- 22. 跳過函數參數的JavaScript
- 23. C++ Lambdas:函數返回一個函數,返回一個函數...?
- 24. 跳過一個字符?
- 25. xquery跳過一個括號
- 26. Symfony formbuilder:跳過一個值
- 27. FindFirstFile跳過一個目錄
- 28. 跳過一個字,打印下一個
- 29. 跳過c中的文本文件的第一個輸入c
- 30. C語言程序在switch語句中跳過部分函數。
是的,[最令人頭疼的解析](http://en.wikipedia.org/wiki/Most_vexing_parse)再次發生。 – 2013-03-06 20:49:01
不只是這樣;即使他只想在'main'中調用'combineChecks',他沒有設置參數。 – Joe 2013-03-06 20:53:02
爲什麼這個問題如此嚴重地下降?很明顯,這是一個很好的特定問題,它提供了格式良好且易於遵循的代碼。 – JBentley 2013-03-06 21:13:27