2016-12-27 4 views
1
#include <iostream> 
#include <array> 
#include <string> 

using namespace std; 
typedef array<string,3> TString; 

int main(){ 
    TString str; 
    str = {"Hi","Example", "Error"}; 
    cout << str[0] <<endl; 
    return 0; 
} 

元のエラーコード私が取得:文字列の配列を作成することは可能ですか?その場合、なぜこのエラーが発生しますか?error:expected expression?

pruebastr.cpp:10:8: error: expected expression str = {"Hi","Example", "Error"}; ^1 error generated.

は私が間違った道配列を定義するか、ひどく、それを初期化していますか?

+2

代わりに 'TString str {" Hi "、" Example "、" Error "};を試してください。 –

+4

は 'std = C++ 11'フラグでうまく動作します。 –

+0

"...またはひどく初期化しています"。あなたの '='行は* initialization *ではなく* assignment *です。ただし、C++ 11でコンパイルする必要があります。 – AnT

答えて

5

そのコンパイラの標準を確認してくださいflag(std)が少なくともC++に設定されています11

関連する問題