CAT 發問時間: 電腦與網際網路程式設計 · 1 0 年前

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 7
    1 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
還有問題?馬上發問,尋求解答。