Visual C++ функции и проблемы связывания
У меня есть класс, который работает с файлами, конструктор получает функцию std:: для отправки статуса работы в библиотеку 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;
}
и пустое 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, поэтому я перевел ошибку.
Спасибо за помощь