gpt4 book ai didi

C++ std::bind 到 std::function,在 VS2015 中出了什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 15:31:31 25 4
gpt4 key购买 nike

我是 VS2013 的用户,我经常按如下方式使用初始化,它工作得很好:

MyClass::MyClass myRoutine(){
std::function<double(double)> oFunc = std::bind(&Myclass::myfunction, this, std::placeholders::_1);
}

MyClass::MyClass myfunction(double & inX){
return 0;
}

我决定升级到VS2015,但是编译器报错:

error C2440: 'initializing': cannot convert from 'std::_Binder<std::_Unforced,double (__thiscall MyClass::* )(double &),MyClass *const ,const std::_Ph<1> &>' to 'std::function<double (double)>'

发生了什么事?

最佳答案

函数签名不匹配:double(double) vs double(double&)。因此编译错误。其中一项需要更改,例如:

double MyClass::myfunction(double inX){
return 0;
}

关于C++ std::bind 到 std::function,在 VS2015 中出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50950659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com