C++模板类编译问题记录

C++模板问题记录

准备定义一个通用类

定义一些通用的静态模板函数,比如最值

template
class CommonFunc
{
static T getVectorMaxValue(QVector vector);
static T getVectorMinValue(QVector vector);
}

问题

使用Qt添加类时,有cpp和h文件
但是在编译时出现错误

解决方法

将cpp文件去掉,然后在h文件直接实现函数;

template<class T>
class CommonFunc
{
	static T getVectorMaxValue(QVector<T> vector)
	{
		auto max = std::max_element(std::begin(vector), 		  std::end(vector));
	    T maxval = *max;
	    return maxval;}
	static T getVectorMinValue(QVector<T> vector)
	{
		auto min = std::min_element(std::begin(vector), std::end(vector));
	    T minval = *min;
	    return minval;
	}
}

你可能感兴趣的:(c++,开发语言)