我正在学习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;
}

关于c++ - 简单的C++脚本-阶乘-错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20962638/

10-10 04:23