メンバー関数内のラムダキャプチャリストでメンバー変数を使用する
次のコードはgcc 4.5.1でコンパイルされますが、VS2010 SP1ではコンパイルされません。 #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; cout<<i<<endl; }); } int main() { return 0; } これはエラーです: error C3480: 'puzzle::grid': …