我有一张在某些选择上要采取的行动图,
struct option {
int num;
std::string txt;
std::function<void(void)> action;
};
void funct_with_params(int &a, int &b)
{
a = 3; b = 4;
}
int param1 = 1;
int param2 = 3;
我想以新的初始化列表方式初始化那些向量:
const std::vector<option> choices
{
{
1,
"sometext",
std::bind(&funct_with_params, std::ref(param1), std::ref(param2))
},
}
我无法在向量中进行初始化以使函数正常工作,是否有以std::bind
某种方式将 传递给向量的方法?
我能够通过使用 lambda 表达式而不是绑定来使示例工作,我缺少什么吗?或者它不是正确的使用方式std::bind
?
我正在使用 C++11,因为我无法迁移到更新的标准。