У меня есть класс с заголовком и файлом .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
};
Цена за конверсию:
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 > &)
Я думал, что все правильно подключил, так что может ли кто-нибудь предположить, почему я получаю эту ошибку компоновщика?