bool pred(int k, int l, int num1, int num2)
{
return (num1 < num2);
}
int main()
{
vector <int> nums;
for (int i=50; i > 0; --i)
{
nums.push_back(i);
}
std::sort (nums.begin(), nums.end(), boost::bind(&pred, 5, 45));
}
私はブースト初心者です。私はboost::bindの使い方を学んでいて、整数のベクトルを並べ替えて、ベクトル内の45より大きく5より小さい要素をすべて取り除きたいと思っていました。それを行うのに苦労しました。誰かが私がそれをするのを手伝ってくれるなら素晴らしいでしょうか?
私が問題に直面している理由は、ベクトルを反復処理してソートしているときに、ベクトル要素を削除しようとしているためです。最初に並べ替えてから要素を削除すると、はるかに簡単になることを私は知っています。でもこうやってやりたいです。どんな助けでも大歓迎です。