我有一个与文件一起使用的类,构造函数正在接收一个 std::function ,用于将工作状态发送到 GUI 库(如果使用)。
宣言:
DASM(std::string filename, std::function<void(unsigned int, unsigned int)> f = nullptr);
在我写的定义中:
if(f!=nullptr)
f(i,decodedInstructionsCount);
我的 LoadWindow 具有以下功能:
std::function<void(unsigned int,unsigned int)> get_f()
{
std::function<void(unsigned int,unsigned int)> ret = std::bind(&LoadWindow::pb_next,_2,_1);
return ret;
}
和 void LoadWindow::pb_next 看起来像这样:
void LoadWindow::pb_next(unsigned int now, unsigned int max)
{
this->m_progressbar.set_fraction(((double)now/(double)max));
}
VC++ 说:
错误 C2064:表达式无法在接受 2 个参数的函数中解析。
我有一个德语 VS,所以我翻译了错误。
谢谢你的帮助