Possible Duplicate:
lambdas require capturing 'this' to call static member function?사용 C는 ++ 11 비 정적 멤버 함수 람다와 같은 클래스의 정적 멤버 함수를 호출
class A {
static void a() {}
public:
void x() {
[]() { A::a(); }();
}
};
그러나 gcc4.6와 gcc4.7 모두에 오류가있어 : 오류 : 같은 클래스의 '이'는이 람다 함수
에 대한 캡처되지 않은 이유를 '이' '이후 람다 필요성도 a '는 정적 멤버 함수입니다.
'x'가 정적이거나 'a'가 다른 클래스의 정적 멤버 함수 인 경우 'this'는 필요하지 않습니다. 이유는 무엇입니까?
왜이 경우 람다가 필요합니까? 왜'':: a()'를 간단하게 호출하지 않습니까? – Naveen
VS2010 SP1은 오류없이 컴파일되고 실행됩니다. – Simon
다른 질문에는 적절한 버그 ID가 없습니다. 에서 편집해야합니까? – dirkgently