class A {
public:
A() {
( [&](){
A::dummy; // VC10 compile error
} )();
}
private:
static const int dummy = 0;
};
我也不知道怎麼解釋, 看起來是它搞混了實體存取和全域存取, 也就是說它不知道該不該自動補完成 this->A::dummy. 但如果使用 namespace 強制修飾成 ::A::dummy, 或是不使用 wildcard capture 就不會有問題.
沒有留言:
張貼留言