考慮下面的代碼的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