【发布时间】:2012-11-16 22:06:58
【问题描述】:
我编写了一个 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吗?更好的是,您能显示您的代码吗? -
我不知道!没人知道。你知道为什么?因为你没有显示你的代码。
-
能否请您发布您的代码?
-
请尝试编译以下VC++ 2012正确编译的代码:#include
using namespace std; int main() { 数组 a;一[1] = 9;返回0; } -
您的代码应该更简洁以突出重点。