I'm trying to call a public member function:
// main.cpp
#include "AH.h"
int somefunc()
{
//...
// it - object of class A
it.set_mean(angle, mean);
//...
}
that declared in .h
// AH.h
class A
{
//...
public:
inline void set_mean(const int angle, const double mean_value);
//...
}
and defined in .cpp file:
// A.cpp
#include "AH.h"
inline void A::set_mean(const int angle, const double mean_value)
{
mean[angle] = mean_value;
}
and recieving an LNK error:
error LNK2019: unresolved external symbol "public: void __cdecl A::set_mean(int,double)" (?set_mean@A@@QEAAXHN@Z) referenced in function "int __cdecl somefunc(class std::vector<class A,class std::allocator<class A> > &)" (?somefunc@@YAHAEAV?$vector@VA@@V?$allocator@VA@@@std@@@std@@@Z)
why it's happening?