C ++ Eclipse Neon:非聚合类型'字符串'无法使用初始化列表初始化

时间:2017-01-28 20:32:53

标签: c++ eclipse eclipse-neon

我收到错误消息

non-aggregate type 'string' (aka 'basic_string<char, char_traits<char>, allocator<char> >') cannot be initialized with an initializer list

在Eclipse Neon的C ++代码中使用以下作为全局变量。

string boardStr = {". . . . . . . . B . . . L L L . . . . . . . . . . . . . . . . .",
        ". . . . . . . . B . . . L L L . . . . . . . . . . . . . . . . .",
        ". . . . . . . . B . . . L L L . . . L L L . . . . . . . . . . .",
        ". . . . . . . . B . . . L L L . . L L L . . . R R . . . . . . .",
        ". . . . . . . . B . . . L L L L L L L L . . . R R . . . . . . .",
        ". . . . . . . . B . . . L L L L L L . . . . . . . . . . . . . .",
        ". . . . . . . . B . . . . . . . . . . . . R R . . . . . . . . .",
        ". . . . . . . . B B . . . . . . . . . . . R R . . . . . . . . .",
        ". . . . . . . . W B B . . . . . . . . . . . . . . . . . . . . .",
        ". . . R R . . . W W B B B B B B B B B B . . . . . . . . . . . .",
        ". . . R R . . . W W . . . . . . . . . B . . . . . . . . . . . .",
        ". . . . . . . . W W . . . . . . . . . B . . . . . . T . . . . .",
        ". . . W W W W W W W . . . . . . . . . B . . . . . . . . . . . .",
        ". . . W W W W W W W . . . . . . . . . B . . R R . . . . . . . .",
        ". . . W W . . . . . . . . . . B B B B B . . R R . W W W W W W W",
        ". . . W W . . . . . . . . . . B . . . . . . . . . W . . . . . .",
        "W W W W . . . . . . . . . . . B . . . W W W W W W W . . . . . .",
        ". . . W W W W W W W . . . . . B . . . . . . . . . . . . B B B B",
        ". . . W W W W W W W . . . . . B B B . . . . . . . . . . B . . .",
        ". . . W W W W W W W . . . . . . . B W W W W W W B B B B B . . .",
        ". . . W W W W W W W . . . . . . . B W W W W W W B . . . . . . .",
        ". . . . . . . . . . . B B B . . . . . . . . . . B B . . . . . .",
        ". . . . . R R . . . . B . . . . . . . . . . . . . B . . . . . .",
        ". . . . . R R . . . . B . . . . . . . . . . . . . B . T . . . .",
        ". . . . . . . . . . . B . . . . . R R . . . . . . B . . . . . .",
        ". . . . . . . . . . . B . . . . . R R . . . . . . . . . . . . .",
        ". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
        ". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
        ". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
        ". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
        ". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
        ". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . ."};

发布this后,我更新了编译器设置,如下图所示

enter image description here

仍然看到错误。我错过了什么?我在Mac OSx El Capitan上。

1 个答案:

答案 0 :(得分:6)

这是一个较短的例子:

std::string fails{ "abc", "def", "ghi" };

没有这样的constructor for std::string需要一堆字符串文字。

但你无论如何都不需要。你真的只是试图从一个大字面构建你的string。字符串文字可以连接 - 只需删除你的逗号:

std::string ok{ "abc" "def" "ghi" };
std::string also_ok = "abc" "def" "ghi";