ràng buộc tôi có mã này:std :: chức năng và std :: hành vi
#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);
}
bạn có thể vui lòng giải thích làm thế nào nó có thể cho std::bind
trở std::function<void(int)>
khi ràng buộc void()
chức năng?
Làm cách nào để gọi hàm void()
bằng cách sử dụng void(int)
functor?
giống như một nitpick: vui lòng cung cấp tất cả các câu lệnh '# include' cần thiết trong mẫu mã của bạn (vectơ, iostreams, chức năng). Làm cho nó thuận tiện hơn nhiều để sao chép-dán. – TemplateRex