我正在将整数文件读入 std::vector。这部分代码工作正常。我通过打印出矢量来检查这一点。
现在,我想通过引用将此向量传递给函数。我想通过引用传递它,以便允许函数修改向量的内容。以下是我的代码 count_comparison.cpp:
#include "count_comparison.h"
#include "quicksort.h"
int main() {
...
long long int comp_num;
comp_num = quicksort(A,10000,0,9999);
...
}
count_comparison.h 有以下内容:
...
#include <vector>
std::vector <int> A(10000);
...
quicksort.h 有以下内容:
#include <vector>
long long int quicksort(std::vector <int>& A, int n, int l, int r);
quicksort.cpp 有以下内容:
#include "quicksort.h"
long long int quicksort(std::vector <int>& A, int n, int l, int r) {
long long int num;
if (n == 1) {
return 0;
} else {
// modify A
// calculate num and return it
return num;
}
}
当我使用 g++(安装在 windows 的 cygwin 上)编译 count_comparison.cpp 时,出现以下错误:
/tmp/ccNCnqwV.o:count_comparison.cpp:(.text+0xc6): undefined reference to `quicksort(std::vector<int, std::allocator<int> >&, int, int, int)'
collect2: ld returned 1 exit status
知道我哪里可能出错了吗?