錯誤即時完成我的介紹編碼類的任務之一有些麻煩。我不斷收到編譯「[錯誤]‘displayBills’時,在此範圍內未聲明的錯誤。我會附上我的代碼,任何建議將不勝感激,謝謝!聲明在範圍
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int dollars;
cout << "Please enter the whole dollar amount (no cents!). Input 0 to terminate: ";
cin >> dollars;
while (dollars != 0)
{
displayBills(dollars);
cout << "Please enter the a whole dollar amount (no cents!). Input 0 to terminate: ";
cin >> dollars;
}
return 0;
}
displayBills(int dollars)
{
int ones;
int fives;
int tens;
int twenties;
int temp;
twenties = dollars/20;
temp = dollars % 20;
tens = temp/10;
temp = temp % 10;
fives = temp/5;
ones = temp % 5;
cout << "The dollar amount of ", dollars, " can be represented by the following monetary denominations";
cout << " Twenties: " << twenties;
cout << " Tens: " << tens;
cout << " Fives: " << fives;
cout << " Ones: " << ones;
}
定義/前向聲明的順序。順便說一句,不要創建很長的未初始化變量列表,以便稍後分配給他們幾行。 – LogicStuff
想象一下,編譯器從上到下只讀取一次程序文本。在它看到你調用displayBills()時,它還沒有看到該函數的任何聲明或定義。您可以通過在main(...)函數定義中放置displayBills()函數定義_before_來解決問題。 –