Я запускаю простой STL-алгоритм для подсчета количества элементов меньше 50. Эта программа генерирует ошибку «Тип объекта« int »не является указателем функции или функции». Я провел ночь, чтобы устранить эту проблему, и поиск аналогичного вопроса о stackoverflow без успеха, но в этот час я ничего не получаю. Я был бы признателен, если бы кто-нибудь мог указать на мою ошибку.Ошибка компилятора C++ в алгоритме count_if
#include <iostream>
#include <numeric>
#include <functional>
#include <algorithm>
#include <vector>
#include <cstdlib>
using namespace std;
bool lessThan(double x) //global function
{
return (x < 50);
}
int main()
{
vector<double> v1(5); //create vector of 5 doubles
for (auto i : v1) { //for each element in v1...(auto used to determine type)
v1[i] = rand() % 100; //generate random numbers
cout << v1[i] << endl;
count_if(v1.begin(), v1.end(), lessThan(v1[i]));
}
return 0;
}
есть много проблем с кодом. начните с чего-то более простого, например, для отображения элементов в векторе. –