vector<vector<int> > a(M,vector<int>(N))
次のように、n 番目の列に関して2 次元配列を行ごとに並べ替えようとしています。
sort(a.begin(),a.end(),
(bind(&vector<int>::operator[],_1,n) >
bind(&vector<int>::operator[],_2,n)));
しかし、私のコンパイラは私に教えてくれます
error: no matching function for call to ‘bind(<unresolved overloaded function type>, const boost::lambda::placeholder1_type&, int)’
error: no matching function for call to ‘bind(<unresolved overloaded function type>, const boost::lambda::placeholder2_type&, int)’
通話をどのように解決すればよいですか?
PS .: operator[] への前述のアクセスのさらに単純なバージョンを試してみました
vector<int> a(10);
(bind(&vector<int>::operator[],_1,_2))(a,2);
これは、Karlsson の本から直接コピー&カット アンド ペーストしたものです。取得
error: no matching function for call to ‘bind(<unresolved overloaded function type>, const boost::lambda::placeholder1_type&, const boost::lambda::placeholder2_type&)’
そのためにも…