short int作为模板中的类型

时间:2018-04-19 16:44:02

标签: c++ templates

我使用此函数将矢量转换为valarray:

template <typename T> valarray<T>* ValArrayTools::vectorToValArray(vector<T>* vector) {
valarray<T>* val = new valarray<T>(vector->size());
for(int i = 0; i < vector->size(); i++)
{
    val[i] = vector[i];
}
return val;

}

我尝试使用模板,以便我可以在每种可能的类型中使用此函数。

现在我要转换

vector<short int> buffer;

进入

valarray<short int>* data;

使用

sf->data = ValArrayTools::vectorToValArray<short int>(&buffer);

但是我收到了这个错误:

CMakeFiles\LPC-Vocoder_Tests.dir/objects.a(ShortFileLoader.cpp.obj): In function `ZN15ShortFileLoader17generateShortFileEv':
C:/Users/****/Documents/Uni/SS18/**Projekt/LPC-Vocoder/src/ShortFileLoader.cpp:33: undefined reference to `std::valarray<short>* ValArrayTools::vectorToValArray<short>(std::vector<short, std::allocator<short> >*)'

0 个答案:

没有答案