我开始学习 cpp,我从一个简单的程序开始:
#include <stdio.h>
#include <vector>
#include "functions.h"
using namespace std;
int main(int argc,char * argv[]){
double start=0;
double end=0;
vector<double> fbseq;
getInput(argc,argv);
return 0;
}
在 functions.h 中,我有:
using namespace std;
void getInput(int,char **);
当我编译并运行时,我得到:
g++ fibonacci.cpp -o fibonacci
/tmp/ccZ1cCvi.o: In function `main':
fibonacci.cpp:(.text+0x3d): undefined reference to `getInput(int, char**)'
我真的不明白这是什么意思,有人可以帮助我吗,因为我认为这与我不理解指针有关?
谢谢 丹
最佳答案
这是一个链接器错误,这意味着代码可以正常编译,但链接器找不到您使用的所有内容的定义。在这种情况下,这意味着您还没有在任何地方定义 getInput
。你需要给函数一个主体。通常,您应该在相应的 .cpp
文件中执行此操作:
#include "functions.h"
void getInput(int argc, char** argv) {
// Implement here
}
当你有那个文件时,你需要确保你也编译了那个文件。只需将它添加到 g++
命令即可。
关于c++ - 将 argv 与函数一起使用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22070803/