您的代码是有效的C++ 20,但是无效的C++ 11.
decltype在C++ 20之前,未评估的上下文(例如)中不允许使用Lambda表达式.
decltype
在C++ 20之前,闭包类型不是默认可构造的.在C++ 20中,没有捕获的闭包类型是默认可构造的.