c++ - 将 argv 与函数一起使用时出错

标签 c++ arrays pointers

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

相关文章:

Java ArrayQueue 入队和出队抛出 arrayQueueException

c - 取消引用 void 指针

c++ - 指向对象的指针 vector C++

objective-c - 在 C 中取消引用二维数组指针

c++ - 需要帮助来完成对 k 个已排序流进行排序的功能

java - 有没有办法在java中使用图形按钮设置数组的值?

c# - 是否可以从 C# 调用具有数据集类型参数的 C++ 函数

Java 字节数组并将 int 复制到其中

c++ - cppcheck生成xml转储文件

c++ - (可视化)C++项目依赖分析