我看Generic lambdas并且无法理解 - 为什么要保留类型声明?为什么不
(x, y)
?如果编译器供应商必须支持 (auto a, auto b)
支持简单的 (a, b)
有什么问题吗?
最佳答案
问题是您也可以省略参数的名称。如果编译器发现 (a,b)
并且 a
和 b
也是有效类型,这意味着什么? (a/*dummy_a*/, b/*dummy_b*/)
还是 (auto a, auto b)
?由于必须显式键入 auto
,它不再有歧义。
关于c++ - 为什么 C++14 通用 lambda 需要在参数规范中使用 auto?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388120/