I have this code:
#include <iostream>
#include <functional>
#include <vector>
void fun()
{
std::cout<<"fun";
}
void gun(int)
{
std::cout<<"gun";
}
int main()
{
std::vector<std::function<void(int)>> vec;
vec.push_back(std::bind(fun));
vec.push_back(gun);
vec[0](1);
vec[1](2);
}
Can you please explain how it's possible for std::bind
to return std::function<void(int)>
when binding void()
function?
How it's possible to call void()
function by using void(int)
functor?