#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;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
По отзывам некоторых жителей этого ресурса, установил посмотреть Code::Block
Взято из кода движка OGRE3d, компилятор выдает ошибку: