考虑下面的代码的std ::函数的std ::绑定拉姆达超载歧义
class my_class {
public:
struct my_struct {
int i;
};
std::function<void(my_struct&)> func;
my_class() {
func = std::bind([this](my_struct& s) { s.i = 5; });
}
};
在2017年VS我收到以下错误:
错误C2440:初始化:不能从转换'std :: _ Binder>'到'std :: function' 注意:没有构造函数可以采用源类型,或者构造函数的重载解析模糊不清
有什么想法可以解决模糊问题?
感谢此工作! – schuess