#include <algorithm> #include <vector> class C { public: int op() const { return 1; } }; class D { int op() { return 1; } void f() { std::vector<C> xs; std::vector<int> ys; std::transform(xs.begin(), xs.end(), ys.begin(), [](const C& x) { return x.op(); }); std::transform(xs.begin(), xs.end(), ys.begin(), [this](const C& x) { return this->op(); }); } };