结构绑定后进行lambda捕获会产生clang编译错误

问题描述

使用c ++ 17结构绑定并使用这些变量由lambda函数捕获时,clang无法编译,但确实适用于MSVC和GCC。这是代码on godbolt):

std::tuple<int,double,long> f() { return { 1,2.,3 }; }
auto [a,b,c] = f();
[a,&b,other = c]() {
    std::cout << a << b << other << std::endl;
}();

Clang返回ab错误error: 'a' in capture list does not name a variable。 我不确定这是否是有效的代码。有人可以告诉哪个编译器做对了吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)