--std=c++0xを忘れてました。
しかしやはりエラーになります
コード:
g++ --std=c++0x a.cpp
a.cpp: ラムダ関数内:
a.cpp:14:55: エラー: 'b' is not captured
a.cpp:14:58: エラー: return-statement with a value, in function returning 'void'
[-fpermissive]
In file included from j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/algorith
m:63:0,
from a.cpp:3:
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h: 関数 '_Random
AccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Pre
dicate, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx
::__normal_iterator<int*, std::vector<int> >, _Predicate = main()::<ラムダ(int)>
]' 内:
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:4427:41: '_I
Iter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal
_iterator<int*, std::vector<int> >, _Predicate = main()::<ラムダ(int)>]' から実
体化されました
a.cpp:14:59: instantiated from here
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:210:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:4427:41: '_I
Iter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = __gnu_cxx::__normal
_iterator<int*, std::vector<int> >, _Predicate = main()::<ラムダ(int)>]' から実
体化されました
a.cpp:14:59: instantiated from here
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:214:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:218:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:222:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:230:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:234:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'
j:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/stl_algo.h:238:4: エラー:
could not convert '__pred.main()::<ラムダ(int)>(__first.__gnu_cxx::__normal_ite
rator<_Iterator, _Container>::operator* [with _Iterator = int*, _Container = std
::vector<int>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference =
int&]())' from 'void' to 'bool'