我寫了一個C++程序,其中使用了array
對象幷包含<array>
頭文件,但是當我嘗試使用g++
進行編譯時,它返回了很多錯誤消息,指出「未聲明數組在這個範圍內「。它可能有什麼問題。 計劃是在這裏:數組未在此範圍內聲明
#include <iostream>
#include <string>
#include <array>
using namespace std;
const int Seasons = 4;
const array<string, Seasons> Snames =
{"spring", "summer", "fall", "winter"};
void fill(array<double, Seasons>* pa);
void show(array<double, Seasons> da);
int main()
{
array<double, Seasons> expenses;
fill(&expenses);
show(expenses);
return 0;
}
void fill(array<double, Seasons>* pa)
{
for(int i = 0; i < Seasons; i++)
{
cout << "Enter " << Snames[i] << " expenses: ";
cin >> *pa[i];
}
}
void show(array<double, Seasons> da)
{
double total = 0.0;
cout << "\nEXPENSES\n";
for(int i = 0; i < Seasons; i++)
{
cout << Snames[i] << ": $" << da[i] << endl;
total += da[i];
}
cout << "Total Expenses: $" << total << endl;
}
什麼命名空間?你有沒有在你的代碼中調用它'std :: array'?更好的是,你可以**顯示你的代碼**? – chrisaycock
我不知道!沒人知道。你知道爲什麼?因爲你沒有顯示你的代碼。 – 2012-11-16 22:09:24
你應該發佈你的代碼。 –