NetWork.hpp
template <typename T>
class NetWork{
public:
NetWork(){};
//NetWork(int inp, int out);
NetWork(std::vector<int> layer_size);
private:
std::vector<int> layer_size;
};
NetWork.cpp
#include "../header/NetWork.hpp"
template <typename T>
NetWork<T>::NetWork(std::vector<int> layer_size){
for (int i = 0; i < layer_size-1; i++)
{
this->layers.push_back(Layer<T>(layer_size[i],layer_size[i+1]));
}
this->layer_size=layer_size;
}
main.cpp
#include "NetWork/header/NetWork.hpp"
int main(){
std::vector<int> layer_size;
layer_size.push_back(4);
layer_size.push_back(8);
layer_size.push_back(3);
NetWork<float> NN(layer_size);
return 0;
}
После сборки проекта выдает ошибку:
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl NetWork::NetWork(class std::vector<int,class std::allocator >)" (??0?$NetWork@M@@QEAA@V?$vector@HV?$allocator@H@std@@@std@@@Z) в функции main. [C:\Users\TopPC\Desktop\Neuron3\MyBuild\Neuron.vcxproj] C:\Users\TopPC\Desktop\Neuron3\MyBuild\Release\Neuron.exe : fatal error LNK1120: неразрешенных внешних элементов: 1 [C: \Users\TopPC\Desktop\Neuron3\MyBuild\Neuron.vcxproj]