You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++初始化vector时出现编译错误的问题咨询

问题解决:vector列表初始化编译报错的原因与修复

报错原因

vector<int> v{2,3,4}是C11引入的列表初始化语法,而你的g编译器默认采用C++03或更早的编译标准,这类旧标准不支持该语法,因此编译器将其识别为语法错误,抛出expected ';' at end of declaration提示。

修复方案

编译时显式指定C++11及以上版本的标准,修改编译命令如下:

g++ file.cpp -o file -std=c++11

也可以选择更高版本的标准,比如-std=c++14或-std=c++17,效果一致。

补充说明

你用push_back能正常运行,是因为这个成员函数在C03标准中就已存在,不需要依赖C11的新特性,因此旧编译器可以正常处理。

内容的提问来源于stack exchange,提问作者Harsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:25:28