调用成员模板

发布时间 2023-07-20 00:11:52作者: devin1024

C++访问成员模板需要加template关键字

#include <iostream>
using namespace std;

class A {
public:
	template <typename TypeNum>
	int getSize()
	{
		return sizeof(TypeNum);
	}
};

// 调用成员模板函数需要加template
template <typename T>
void f1()
{
	T t1;
	cout << (t1.template getSize<float>()) << endl;
	cout << (t1.template getSize<double>()) << endl;
}

// 调用成员模板函数不需要加template
void f2()
{
	A a1;
	cout << (a1.getSize<long>()) << endl;
	cout << (a1.getSize<long long>()) << endl;
}

int main()
{
	f1<A>();
	f2();

	return 0;
}