http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56222
Bug #: 56222
Summary: Pointer to member in lambda should not require this to
be captured
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: [email protected]
ReportedBy: [email protected]
In the example below, gcc complains about this not being captures. This happens
whenever a pointer to a member function is requested in a lambda. I tested with
gcc-4.7.2.
struct Test {
void y() { }
void x() {
[](Test &t) { (t.*(&Test::y))(); }(*this);
}
};
int main() { Test().x(); }