2016-04-02 10 views
1

このプログラムでは、各シーズンごとに費用を入力してから、値を表示してから合計費用を表示します。しかし、私にはこのエラーが出ています。プログラムでエラーが発生しました。「このファイルにはISO C++ 2011標準に対するコンパイラとライブラリのサポートが必要です」

In file included from /usr/include/c++/4.8.3/array:35:0, 
       from main.cpp:2: 
/usr/include/c++/4.8.3/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. 
#error This file requires compiler and library support for the \ 

どうすれば修正できますか?

#include <iostream> 
#include <array> 
#include <string> 

// constant data 
const int Seasons = 4; 
const std::array<std::string, Seasons> Snames = 
    {"Spring", "Summer", "Fall", "Winter"}; 

// function to modify array object 
void fill(std::array<double, Seasons> * pa); 
// function that uses array object without modifying it 
void show(std::array<double, Seasons> da); 

int main() 
{ 
    std::array<double, Seasons> expenses; 
    fill(&expenses); 
    show(expenses); 
    return 0; 
} 

void fill(std::array<double, Seasons> * pa) 
{ 
    using namespace std; 
    for (int i = 0; i < Seasons; i++) 
    { 
     cout << "Enter " << Snames[i] << " expenses: "; 
     cin >> (*pa)[i]; 
    } 
} 

void show(std::array<double, Seasons> da) 
{ 
    using namespace std; 
    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; 
} 
+3

"このサポートは現在実験中であり、-std = C++ 11または-std = gnu ++ 11コンパイラオプションで有効にする必要があります。これを行う。 –

答えて

1

エラーメッセージを読んでください! -std=c++11または-std=gnu++11でコンパイルする必要があります。

+0

明白なことを述べてくれてありがとう。私の質問は、それをC++でコンパイルするように変更する方法でした。うまくいけばそれはあなたの知識レベルを超えていません。 –

+0

@ B.Wilson: 'std :: array'を使わないでください。これはC++ 11のみです。 C++ 11 _is_ C++でも(フラグを使用していればまだ "in C++"をコンパイルしています)、あなたの質問はC++ 11の使用を避けたいと言っていませんでした。 – ShadowRanger

+0

[cppreference.com](http://en.cppreference.com/w/)のように、C++標準の後のリビジョンで追加された機能とヘッダーを明確に示しているとします。 – ShadowRanger

関連する問題