Я сделал немного кода на C ++ 98, но я застрял на одной проблеме, когда я увидел, что функция вызывается из цикла for_each()
, и у этого определения функции есть аргумент, но при вызове мы не передавая ему любые аргументы.
Ниже приведен код:
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
void print_square(int i)
{
cout << i*i << endl; // here i value should be garbage
}
int main()
{
vector<int> v;
// vector gets filled
for_each(v.begin(), v.end(), print_square); //print_square is called
return 0;
}
Почему компилятор не выдает здесь ошибку? Как мне распечатать векторные значения?