vs2017编写模板类出现以下错误时:没有与参数列表匹配的构造函数……

程序源码:

#include
using namespace std;

template 
class HoldsPair
{
private:
	T1 Value1;
	T2 Value2;
public:
	HoldsPair(const T1& value1, const T2& value2)
	{
		Value1 = value1;
		Value2 = value2;
	};
	const T1 & GetFirstvalue() const
	{
		return Value1;
	};
	const T2& GetSecondvalue() const
	{
		return Value2;
	};
};
int main()
{
	HoldsPair<> mIntFloatPair(300, 10.09);
	HoldsPair mshortstringPair(25, "learn template,love c++");
	cout << "the first object conntains-" << endl;
	cout << "Value 1:" << mIntFloatPair.GetFirstvalue() << endl;
	cout << "Value 2:" << mIntFloatPair.GetSecondvalue() << endl;

	cout << "the second object contains-:" << endl;
	cout << "Value 1:" << mshortstringPair.GetFirstvalue() << endl;
	cout << "Value 2:" << mshortstringPair.GetSecondvalue() << endl;
	return 0;
}

出现错误的原因是这一行:HoldsPair mshortstringPair(25, "learn template,love c++");

系统提示:没有与参数列表匹配的构造函数HoldsPair::HoldsPair[其中T1=short,T2=char*]实例

改成就可以编译成功

你可能感兴趣的:(vs2017编写模板类出现以下错误时:没有与参数列表匹配的构造函数……)