私は、アダプターにc++0xラムダを提供することによってboost::adapters::transformedを使用しようとしています。
次のコードはコンパイルされません。私はブースト1.48でg++4.6.2を使用しています。
#include <iostream>
#include <vector>
#include <boost/range/adaptors.hpp>
#include <boost/range/algorithm.hpp>
using namespace std;
namespace br = boost::range;
namespace badpt = boost::adaptors;
int main()
{
vector<int> a = {0,3,1,};
vector<int> b = {100,200,300,400};
auto my_ftor = [&b](int r)->int{return b[r];};
cout<<*br::max_element(a|badpt::transformed(my_ftor))<<endl;
}
私がここで間違っていることについて何か考えはありますか?