Что не так с кодом,почему пишет ошибка?
Вот так можно решить Вашу задачу:
#include <iostream>
#include <ctime>

void fillRandom(int* arr, int size, int min, int max) {
    for(int i{0}; i < size; ++i) {
          arr[i] = min + (rand() % ((max - min) + 1));
    }
}

int main() {
      srand(time(NULL));
      int len{10}, min{10}, max{99};
      int array[len];
      fillRandom(array, len, min, max);
      for(int& i : array) std::cout << i <<' ';
      return 0;
}
Можно и по модному - через лямбду:
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>

void fill_random(std::vector& v, int min, int max) {
       int i{0};
       auto lambda = [&](int index){ v[i] = min + (rand() % ((max - min) + 1)); ++i; };
       std::for_each(v.begin(), v.end(), lambda);
}

int main() {
       srand(time(NULL));
       int size{10}, min{10}, max{99};
       std::vector<int> vec(size);
       fill_random(vec, min, max);
       for(int& i : vec) std::cout << i << ' ';
       return 0;
}
Не разбираюсь в плюсах, но после for открывается скобка, после чего она не закрывается.