整数のファイルを 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
私が間違っている可能性がある場所はありますか?