This shows how to use varadic function call with template specialisation to call a function with any number of parameters. This example compiles on CLANG but not on GCC. Original thanks to @the4thAmigo-uk https://gist.github.com/the4thamigo-uk/0af9d356253f560d6e36c98224be5958.js
GCC returns the following error : error: explicit specialization in non-namespace scope 'class Policy' As far as I can tell this is a bug in GCC (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282).
struct X {};
struct Y {};