我开始学习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/