如何解决结构绑定后进行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返回a
和b
的错误:error: 'a' in capture list does not name a variable
。
我不确定这是否是有效的代码。有人可以告诉哪个编译器做对了吗?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。