fin*_*rra 6 c++ lambda closures c++17
嗨堆栈溢出社区!
我想知道为什么这段代码不能用 C++17 编译
std::unordered_map<int, int> a;
for (const auto& [k, v]: a) {
auto l = [k] () {};
}
Run Code Online (Sandbox Code Playgroud)
错误“捕获列表中的'k'未命名变量”。
但这编译得很好
std::unordered_map<int, int> a;
for (const auto& [k, v]: a) {
auto l = [k = k] () {};
}
Run Code Online (Sandbox Code Playgroud)
如果 [k, v] 不是变量,那么 k 是什么?
归档时间: |
|
查看次数: |
2059 次 |
最近记录: |