ヘッダーと .cpp ファイルを持つクラスがあります。関数をヘッダーで宣言し、.cpp ファイルで定義します。
ヘッダ:
#pragma once
// my #includes
class CDNAGenerator
{
private:
// stuff
public:
CDNAGenerator(int, int);
~CDNAGenerator();
void FilterMeasurementsForOutliers(std::vector<double>& measurement_values);
// plenty more things
};
CPP:
CDNAGenerator::CDNAGenerator( int genes, int chromosomes )
{
// constructor code
}
void CDNAGenerator::FilterMeasurementsForOutliers(std::vector<double>& measurement_values)
{
// function code
}
次に、同じソリューションの別のプロジェクトから .h ファイルを参照します (ただし、.cpp は参照しません - 複数の定義エラーにつながるようです)。
#include "..\CalibrationTool\DNAGenerator.h"
そして、それらの関数を呼び出します:
CDNAGenerator* dnaGenerator = new CDNAGenerator(30, 0);
dnaGenerator->FilterMeasurementsForOutliers(values);
しかし、CDNAGenerator::CDNAGenerator(int, int) および CDNAGenerator::FilterMeasurementsForOutliers(class std::vector > &) で未解決の外部エラーが発生します。
すべてを正しく接続したと思ったので、このリンカ エラーが発生する理由を誰か教えてもらえますか?