なぜ次のエラーが発生するのか疑問に思っています。
bool is_divisible(int by, int n)
{
return (n % by) == 0;
}
int main()
{
vector<int> v {1, 2, 3, 4, 5};
cout << count_if(v.begin(), v.end(), bind1st(is_divisible, 2)) << endl;
}
ただし、使用するbind(is_divisible, 2, _1)
と機能します。この場合、後者が機能する原因となるbind1st
技術的な違いは何ですか?bind