首页 > 解决方案 > 对已定义的“功能”的未定义引用

问题描述

我已经开始学习 C++ 并试图弄清楚头文件是如何工作的。我有 main.cpp

#include <iostream>
#include "fibonacci.h"
using std::cout;
using std::cin;
using std::endl;

int main(){
   int n;
   cin >> n;
   for(int i = 0; i < n; i++)
       cout << fibonacci(i) << ", ";
   cout << endl;

   return 0;
}


斐波那契.h

#pragma once
int fibonacci(int n);

斐波那契.cpp

#include "fibonacci.h"

int fibonacci(int n){
    if(n == 0){
        return 0;
    }
    if(n == 1){
        return 1;
    }
    return fibonacci(n - 1) + fibonacci(n-2);
}

但是在构建时undefined reference to 'fibonacci(int)'出现错误。

我正在使用 VSCode 和 g++ 编译器。

标签: c++visual-studio-code

解决方案


推荐阅读