#include <iostream>
class FactorialClass {
public:
int factorial(int i) {
if (i == 0) {
return 1;
} else {
return i * factorial(i-1);
}
int n;
std::cin >> n;
std::cout << factorial(n);
}
};
int main() {
FactorialClass obj;
obj.factorial();
system("pause");
return 0;
}
Не понимаю, почему не работает - выдает ошибку
функция принимает 0 аргументов
Функция
int factorial(int i)
принимает параметр типа int и int же возвращает.
Где в
obj.factorial();
параметр?...
Это уж не говоря о том, что у вас какая-то странная функция с неработающим куском
int n;
std::cin >> n;
std::cout << factorial(n);
Думаю, вы хотели что-то вроде
#include <iostream>
class FactorialClass {
public:
void factorial()
{
int n;
std::cin >> n;
std::cout << factorial(n) << std::endl;
}
int factorial(int i) {
if (i == 0) {
return 1;
} else {
return i * factorial(i-1);
}
}
};
int main() {
FactorialClass obj;
obj.factorial();
system("pause");
return 0;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости