#include <functional>
#include <iostream>
void f(char a)
{
std::cout << "char";
}
void f(int a)
{
std::cout << "int";
}
int main()
{
// auto a = std::bind(f, 5); // HAHAHAHAHA FUCK YOU
auto a = std::bind(static_cast<void(*)(int)>(f), 5);
auto b = [](){ return f(5); };
a();
b();
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnZvaWQgZihjaGFyIGEpCnsKCXN0ZDo6Y291dCA8PCAiY2hhciI7Cn0KCnZvaWQgZihpbnQgYSkKewoJc3RkOjpjb3V0IDw8ICJpbnQiOwp9CgppbnQgbWFpbigpCnsKCS8vIGF1dG8gYSA9IHN0ZDo6YmluZChmLCA1KTsgLy8gSEFIQUhBSEFIQSBGVUNLIFlPVQoJYXV0byBhID0gc3RkOjpiaW5kKHN0YXRpY19jYXN0PHZvaWQoKikoaW50KT4oZiksIDUpOwoJYXV0byBiID0gW10oKXsgcmV0dXJuIGYoNSk7IH07CglhKCk7CgliKCk7Cn0=