是否可以创建一个字符串数组,如果是这样,为什么我会收到此错误:错误:预期表达式?

时间:2016-12-27 21:46:15

标签: c++ arrays string typedef

#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:错误:预期表达式           str = {“Hi”,“Example”,“Error”};                 生成^ 1错误。

我是以错误的方式定义数组还是错误地初始化它?

2 个答案:

答案 0 :(得分:5)

确保编译器标准标志(std)至少设置为c ++ 11

答案 1 :(得分:1)

您使用的是哪种编译器?

clang 3.9.0 -std = c ++ 11:https://godbolt.org/g/31aYx7

gcc6:https://godbolt.org/g/0j52Zy

编译和工作正常,输出相同:&#34;嗨&#34;