0

我有一个与文件一起使用的类,构造函数正在接收一个 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,所以我翻译了错误。

谢谢你的帮助

4

0 回答 0