ожидается, что ваша функция вернет int
int gnrt(vector <int> vect, int n)
, однако ваш код не вернет, что
if(it!=vect.end()) gnrt(vect, n+1);
else return n;
, немного перестановка должна указывать, что еслиif condition
оценивается как true
vitz, it!=vect.end()
вы ничего не возвращаете, и компилятор не рад этому
if(it!=vect.end())
gnrt(vect, n+1); // this one
else
return n;
У вашей функции есть пара точек выхода.
- нормальная точка выхода, являющаяся концом функции, окруженная {}
- оператором
return
, поскольку эта функция ожидает, что некоторое значение int
будет возвращено извсе эти точки выхода любая открытая точка выхода является потенциальным предупреждением