У меня есть следующий код
#include <boost/function.hpp>
#include <boost/bind.hpp>
class Foo {
public:
int getIfoo();
};
int Foo::getIfoo() {
return 5;
}
int main () {
boost::function<int (Foo)> getIntFoo;
getIntFoo = boost::bind( &Foo::getIfoo, _1 );
return 0;
}
Когда я компилирую следующую команду g++ TestBoostBind.cpp
У меня появляется следующая ошибка
/includes/boost_1_60_0/boost/bind/mem_fn_template.hpp:35:36: error: invalid conversion from ‘const Foo*’ to ‘Foo*’ [-fpermissive]
BOOST_MEM_FN_RETURN (u.*f_)();
~~~~~~~^~
Я не совсем понимаю источник ошибки, исходит ли она из моего кода или из библиотеки наддува. Кто-нибудь знает, что означает ошибка и как ее исправить? Я использую g ++ (Ubuntu 7.3.0-27ubuntu1 ~ 18.04) 7.3.0 и boost.1.60