gpt4 book ai didi

c++ - 为什么 []mutable{} 不编译?

转载 作者:可可西里 更新时间:2023-11-01 18:35:30 24 4
gpt4 key购买 nike

编译:

[]{};

这也是:

[]() mutable {};

但是对于这段代码,编译器会向我抛出错误信息:

[] mutable {};
^~~~~~~
error: lambda requires '()' before 'mutable'

有什么特别的原因吗?

最佳答案

这只是标准中语法编写方式的结果。我不知道这是否是一个疏忽。

lambda 表达式以 lambda 介绍符(括号)开头,后跟可选的 lambda 声明符。

lambda 声明符包含参数列表、可变、属性、异常说明符和返回类型。所有这些都是可选的,除了参数列表。因此,如果完全存在 lambda 声明符,则必须有括号。

这就是为什么不能只有可变关键字的原因。

关于c++ - 为什么 []mutable{} 不编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40549722/

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