2014-01-07 81 views
0

我正在學習C++。這是一個計數因子(西爾亞)的代碼。 Liczba的意思是數字。簡單的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 

可以採取什麼問題嗎?

+0

的錯誤信息是非常明確的。究竟是什麼問題? – 0x499602D2

+0

我不認爲你需要StackOverflow來回答這個問題。 Google應該綽綽有餘地找到你想要實現的一個工作示例。順便說一句,好貓! –

+0

你正在嘗試使用西爾維亞作爲功能。西爾尼亞是一個整數變量。您可能想要編寫一個計算西爾尼亞函數內部的西亞數值的代碼。 –

回答

0
silnia(liczba) 

看起來像你試圖「呼叫」整數silnia。確切地說,你的錯誤消息說。我不確定你想要做什麼。

+0

那麼如何改進呢?我在開始學習和搜索互聯網的解決方案,但不知何故,我仍然不明白,錯誤:( – pgr

+0

@PawełGranat你知道創建函數的正確方法嗎? – 0x499602D2

+0

提示:你已經用'main'完成了。 – chris

1

從主刪除部分:

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; 
} 
+0

好的謝謝所有的幫助!我做了這個代碼的分析,然後類似的應用程序,一切工作正常:) – pgr