#include <iostream>
using namespace std;
void MyFunc()
{
cout << "message" << endl;
}
template<typename Func, Func* func, typename... Args>
void FuncShell(Args... args)
{
func(args...);
}
int main()
{
FuncShell<decltype(MyFunc), &MyFunc>();
cout << (size_t)(&FuncShell<decltype(MyFunc), &MyFunc>);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBNeUZ1bmMoKQp7CiAgICBjb3V0IDw8ICJtZXNzYWdlIiA8PCBlbmRsOwp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jLCBGdW5jKiBmdW5jLCB0eXBlbmFtZS4uLiBBcmdzPgp2b2lkIEZ1bmNTaGVsbChBcmdzLi4uIGFyZ3MpCnsKICAgIGZ1bmMoYXJncy4uLik7Cn0KCmludCBtYWluKCkKewoJRnVuY1NoZWxsPGRlY2x0eXBlKE15RnVuYyksICZNeUZ1bmM+KCk7Cgljb3V0IDw8IChzaXplX3QpKCZGdW5jU2hlbGw8ZGVjbHR5cGUoTXlGdW5jKSwgJk15RnVuYz4pOwogICAgcmV0dXJuIDA7Cn0=