2
Lambda作为基类
在Lambdas上玩耍时,我发现了一个有趣的行为,但我并没有完全理解。 假设我有一个struct Overload从2个模板参数派生的,并且有一个using F1::operator();子句。 现在,如果我派生自两个函子,则只能访问F1的operator()(正如我期望的那样) 如果我从两个Lambda函数派生,则不再适用:我也可以从F2访问operator()。 #include <iostream> // I compiled with g++ (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) // // g++ -Wall -std=c++11 -g main.cc // g++ -Wall -std=c++11 -DFUNCTOR -g main.cc // // or clang clang version 3.3 (tags/RELEASE_33/rc2) // // clang++ -Wall -std=c++11 -g main.cc // clang++ …