//直接聲明為 int a[], 這樣會允許函數內部對a[] 進行修改
void showTheWorld( int a[], int sizeOfa) {
for ( int i = 0; i < sizeOfa; i++)
cout << a[i] << " ";
cout << endl;
}
如果 聲明為const int a[], C++就不允許函數內部在對a[] ,進行修改了
void showTheWorld( const int a[], int sizeOfa)
{
cout << "The array contains the following values:\n";
for ( int i = 0; i < sizeOfa; a[i]++) // a[i]++ 會改變a[] l里面的每個項加1;因為聲明了const int a[] ,這樣編譯器就會報錯
cout << a[i] << " ";
cout << endl;
}
double computeAverage( int a[], int numberUsed); //聲明一個參數 int a[] 不為const,
void showDifference( const int a[], int numberUsed)
{
double average = computeAverage(a, numberUsed); //調用computeAverage,編譯器會認為computeAverage會改變a[] 數組,這與showDifference參數矛盾,報錯
for ( int index = 0; index < numberUsed; index++)
cout << a[index] << " differs from average by "
<< (a[index] – average) << endl;
}//computeAverage 應該定義成
double computeAverage( const int a[], int numberUsed);