错误:非聚合类型“vector<int>”无法使用初始值设定项列表 vector<int> denominations = {1, 2, 3};

error: non-aggregate type 'vector<int>' cannot be initialized with an initializer list vector<int> denominations = {1, 2, 3};

提问人:Vishesh Singh 提问时间:11/3/2023 最后编辑:ChrisMMVishesh Singh 更新时间:11/3/2023 访问量:62

问:

我正在 vs 代码中的 Mac 系统上编写 C++ 代码。我正在将向量初始化为

vector<int> denominations = {1, 2, 3};

我收到上述错误。

我尝试通过发出命令 brew update gcc 来更新我的 gcc 编译器。输出为 Warning: gcc 13.2.0 already installed。但它仍然给出了同样的错误。我还尝试在 vs 代码终端中执行命令“g++ -std=c++11 prog.cpp”,但它什么也没做......

C++ 向量

评论

2赞 Retired Ninja 11/3/2023
请在您的问题中添加一个最小的可重现示例。您还应该准确包括您的编译方式和编译器提供的输出。最好从终端复制/粘贴此内容,这样您就不会遗漏任何内容。
1赞 ChrisMM 11/3/2023
或指定的版本是什么?g++ --versiong++ -v
2赞 drescherjm 11/3/2023
我正在 vs 代码中的 Mac 系统上编写 C++ 代码。您是否遵循了 VSCode macos 说明?我问是因为编译器默认为 c++98(这将返回此错误),并且说明告诉您如何设置 VSCode 以使用 c++17。您确定使用的是 g++ 13.2 而不是 clang++ 吗?
3赞 Yksisarvinen 11/3/2023
我还尝试在 vs 代码终端中执行命令“g++ -std=c++11 prog.cpp”,但它什么也没做......- 你确定它什么也没做吗?这应该会在成功时以静默方式生成在当前目录中调用的可执行文件。在失败时,它根本不会保持沉默。a.out
0赞 drescherjm 11/3/2023
以下是 VSCode clang 指令: https://code.visualstudio.com/docs/cpp/config-clang-mac 注意 c++17 的放置位置。这也有助于您了解在没有 CMakeTools、MakeFileTools 或 code-runner 等构建扩展的情况下构建时使用的 3 个 json 文件(我不建议将 code-runner 用于 c 或 c++ 项目)。tasks.jsonc_cpp_properties.json

答: 暂无答案