Я использую visual studio 2010, и я пытаюсь использовать std:: copy_if, Я хочу скопировать все значения, удовлетворяющие предикату. Например:
struct comp
{
bool operator()(const int i) { return i == 5 || i == 7; }
};
int main()
{
array<int, 10> arr = { 3, 2, 5, 7, 3, 5, 6, 7 };
vector<int> res;
copy_if(arr.begin(), arr.end(), res.begin(), comp());
for(int i = 0; i < res.size(); i++)
{
cout << res[i] << endl;
}
return 0;
}
Но когда я запускаю этот код, я получаю: векторный итератор не увеличивается.