2016-12-27 51 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; 
} 

原來的錯誤代碼,我得到:是否有可能創建一個字符串數組,如果是這樣,爲什麼我得到這個錯誤:錯誤:期望的表達式?

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

「...或初始化不好」。你的'='行不是*初始化*,而是*賦值*。但是,它應該在C++ 11中編譯。 – AnT

回答

5

確保您的編譯器的標準flag(std)至少設置爲C++ 11