【问题标题】:C++ Eclipse Neon : non-aggregate type 'string' cannot be initialized with an initializer listC++ Eclipse Neon:非聚合类型“字符串”不能用初始化列表初始化
【发布时间】:2017-06-14 08:22:57
【问题描述】:

我收到错误消息

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 发布之后,我更新了编译器设置,如下图所示

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

【问题讨论】:

  • 您想要string 还是string 数组?

标签: c++ eclipse eclipse-neon


【解决方案1】:

这是一个更简短的例子:

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

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

但无论如何你都不需要那个。你真的只是想从一个大文字构造你的string。并且可以连接字符串文字 - 只需删除逗号:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多