Я изучаю C ++. Вот кодовый счет факториала (силния). Личба означает число.
#include <iostream>
using namespace std;
int _main()
{
int silnia;
int n;
if (n == 0) return 1;
else;
return n * silnia(n-1);
int liczba;
cout << "Podaj liczbe: ";
cin >> liczba;
cout << liczba << "! = " << silnia(liczba) << endl;
return 0;
}
Однако я все еще становлюсь сообщением об ошибке
main.cpp: In function 'int _main()':
main.cpp:9:20: error: 'silnia' cannot be used as a function
return n*silnia(n-1);
^
main.cpp:14:42: error: 'silnia' cannot be used as a function
cout << liczba << "! = " << silnia(liczba) << endl
В чем может быть проблема?
удалите эту часть из вашего основного:
int silnia;
int n;
if (n == 0) return 1;
else;
return n * silnia(n-1);
поставить эту функцию за пределы основной функции
int silnia(int a)
{
if(a==0) return 1;
else return silnia(a-1)*a;
}
silnia(liczba)
Похоже, вы пытаетесь «вызвать» целое число silnia
, Именно то, что говорит ваше сообщение об ошибке. Я не уверен, что вы пытаетесь сделать в этой строке.