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

关于std::initializer_list的类模板实参推导问题咨询

关于std::initializer_list列表初始化的Clang版本兼容性疑问

下面这段代码:

#include <string_view>
using namespace std::string_view_literals;
#include <initializer_list>

int main() {
    std::initializer_list svs{
        "Meow"sv,
        "Woof"sv
    };
}

能被所有GCC版本(至少从8.2开始)正常编译,但Clang 18及更早版本会拒绝编译,Clang 19则可以顺利通过编译。

我认为这属于直接列表初始化,对应cppreference中列表初始化的第一种情况。

考虑到Clang的行为出现了变化,我怀疑这是一个已经被修复的Clang Bug(当前Clang已接受该代码,应该不属于未定义行为)。不过我在Clang的Issue库中没找到相关问题,想请大家帮忙确认或者否定我的这个判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:05:57