#include <iostream>
using namespace std;

struct POINT
{
	long x = 0;
	long y = 0;
};

template<typename RetType, typename ...Params>
struct func
{
	template<typename R, typename ...P>
	R operator()( P&&... p )
	{
	}
};

int main() 
{
	func<bool,long,long> f;
	POINT p { 1,2 };
	f( p.x, p.y );
	return 0;
}