ЮГ
Юлия Гусева

Почему данный код выдает предупреждение: control reaches end of non-void function [-Wreturn-type]}^ ?

#include
using namespace std;

int FIB(int m) {
if (m == 0)
return 4;
else if (m == 1)
return 7;
else if (m >= 2)
return (2* FIB(m-1) + 5 * FIB(m-2)) %2011;
}

int main(){
int t;
cin >> t ;
for (int i = 0; i < t; ++i)
{
int m;
cin >> m;
cout << FIB(m) < }
return 0;
}

КМ
Константин Матвеенко

а если в FIB передать отрицательное число ?
просто сделай в конце ветку else и варнинг пропадет

ФФ
Фёдор Факушин

функция FIB() не при всех значениях m сможет что-то вернуть. Можно в конце (функции) дописать return 0; или что там вам нужно.

Похожие вопросы
Есть ли в C++ селектор, как в Паскаль (case - of -end)?
Как создать функцию в борланде? С++. Типа такого function f(x, y : real) : real; begin f := 7; end;
Такой программный код выдает ошибку, не понимаю, почему.
На планшете выдает предупреждение об использовании данных, когда задашь определенный объем (напр. 3гб) . Что это?
Fatal error: Maximum function nesting level of '100' reached, aborting!
С++ not implemented in type 'istream' for arguments of type 'float *'из-за чего эта ошибка и как исправить?
пишет ожидалась точка после первого end, почему?
Easy PHP дает ошибку: Unexpected end of Apache. кто знает почему, и как решать?
Почему не работает данный код? Python
Почему не работает данный код на JavaScript и html'як ))