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

使用Mac Clang编译C++列表初始化代码报错:需在x后加分号

解决Mac Clang编译列表初始化报错的问题

问题原因

列表初始化(int x {5};这类写法)是C11引入的特性,部分旧版本的Mac自带Clang编译器,即便标称默认使用gnu++14标准,实际编译时也可能未正确启用C11及以上的特性支持,从而触发语法报错。

解决方案

1. 显式指定C++标准编译

编译时通过-std参数明确指定C++11或更高版本的标准,示例命令如下:

# 使用C++11标准编译
clang++ -std=c++11 main.cpp
# 或使用更高版本如C++17
clang++ -std=c++17 main.cpp

执行上述命令后,编译器就能正确识别列表初始化语法。

2. 更新Clang版本

若显式指定标准仍报错,说明你的Clang版本过旧,可执行以下命令更新Xcode命令行工具:

xcode-select --install

按照提示完成安装后,再重新尝试编译即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:10:22