template <class T>
using FunctionPointer = bool (*)(T*, T*);

bool foo(int *, int*)
{
	return true;
}


int main()
{
	FunctionPointer<int> p = &foo;
}