gpt4 book ai didi

c++ - 如何解决 visual studio 2013 的数组初始化问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:36:32 25 4
gpt4 key购买 nike

我想声明一个数组作为结构的成员之一。它失败了,编译器抛出以下错误:

error C2536: ... : cannot specify explicit initializer for arrays

这是我在 .h 文件中的结构:

struct CommandRepo
{
std::string root_command[5] = { "create", "edit", "remove", "list", "setting" };
std::string Base = "^(create|edit|remove|settings|list)(?: *)(?:--([a-zA-Z]*))";
std::string EachWord = "(\\w+)";
};

似乎(如 SO 中的某处所读),VSC2013 不完全符合 C++11,并且该错误与缺乏合规性有关。真的吗?我该如何解决?

最佳答案

是否可以使用 std::vector?如:

struct CommandRepo
{
std::vector<std::string> root_command = { "create", "edit", "remove", "list", "setting" };
std::string Base = "^(create|edit|remove|settings|list)(?: *)(?:--([a-zA-Z]*))";
std::string EachWord = "(\\w+)";
};

此结构的接口(interface)肯定会发生变化,但这使您可以初始化 std::string 的列表。

关于c++ - 如何解决 visual studio 2013 的数组初始化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29355507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com