#include <iostream>
static void test(void)
{
printf("%s [%d]\n", __func__, __LINE__);
}
static void test(int a)
{
printf("%s [%d] %d\n", __func__, __LINE__, a);
}
int main()
{
using t_pf1 = void (*)(void);
using t_pf2 = void (*)(int);
::std::cout << (uintptr_t) t_pf1{&test} << "\n"
<< (uintptr_t) t_pf2{&test} << ::std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RhdGljIHZvaWQgdGVzdCh2b2lkKQp7CiAgICBwcmludGYoIiVzIFslZF1cbiIsIF9fZnVuY19fLCBfX0xJTkVfXyk7Cn0KCnN0YXRpYyB2b2lkIHRlc3QoaW50IGEpCnsKICAgIHByaW50ZigiJXMgWyVkXSAlZFxuIiwgX19mdW5jX18sIF9fTElORV9fLCBhKTsKfQoKaW50IG1haW4oKQp7Cgl1c2luZyB0X3BmMSA9IHZvaWQgKCopKHZvaWQpOwoJdXNpbmcgdF9wZjIgPSB2b2lkICgqKShpbnQpOwoJOjpzdGQ6OmNvdXQgPDwgKHVpbnRwdHJfdCkgdF9wZjF7JnRlc3R9IDw8ICJcbiIKCSAgPDwgKHVpbnRwdHJfdCkgdF9wZjJ7JnRlc3R9IDw8IDo6c3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=