VC++問題 錯誤C3861 找不到識別項
#include <stdafx.h>
#include <string>
#include <iostream>
using namespace std;
int main(){
fib(20)
system("pause") ;
}
int fib(int n)
{
if (n<2)
return n;
else
return (fib(n-1)+fib(n-2));
}
1 個解答
評分
- 龍Lv 71 0 年前最佳解答
在C/C++裡.你若要呼叫某一個函式或用某一個變數.你一定要先宣告其函式或變數.
你在main()裡呼叫fib()這個函式.且傳入20.但是在main()之前你並無告知C/C++ fib()是啥.你在main()之後是有寫fib()的定義但是那是在後面.你有兩種解決方法
1. 把fib()的整個定義移到main()之前
2. 把fib()在main()之前宣告一下.(function prototype).function prototype很簡單.你只要寫
<回傳型態> <程式名> <參數列>
在參數列裡只需要參數的型態就好
例:
int add(int, int);
int multi(int, int);
還有2個問題.
第1就是fib()會回傳fibonacci的結果.在你的程式裡你只呼叫fib()且傳入20.但你卻沒處理其回傳的結果.若如此那你這程式將不會顯示任何資訊.這是你所想要的嗎?
第2就是在呼叫fib()之後你沒加分號.在C/C++裡每一句程式碼都要以;為止.
懂不懂?不懂請再問
參考資料: Myself
還有問題?馬上發問,尋求解答。