简单C++脚本 - 阶乘 - 错误

Simple C++ script - Factorial - Errors

本文关键字:阶乘 错误 脚本 C++ 简单      更新时间:2023-10-16

我正在学习C++。这是一个代码计数阶乘(silnia)。Liczba 表示数字。

#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。 正是您的错误消息所说的。我不确定你在这条线上想做什么。