Добрый день.Проблемы с чтением в буфер с использованием boost :: asio :: async_read
У меня есть файл Types.hpp в моем проекте. И в этом у меня есть:
....
namespace RC
{
.....
.....
struct ViewSettings
{
....
};
.....
}
В файле server.cpp я в том числе этого Types.hpp файла, и я тут:
class Session
{
.....
RC::ViewSettings tmp;
boost::asio::async_read(socket_, boost::asio::buffer(&tmp, sizeof(RC::ViewSettings)),
boost::bind(&Session::Finish_Reading_Data, shared_from_this(), boost::asio::placeholders::error));
.....
}
А во время компиляции у меня есть ошибки:
error C2825: 'F': must be a class or namespace when followed by '::'
: see reference to class template instantiation 'boost::_bi::result_traits<R,F>'
being compiled with
[
R=boost::_bi::unspecified,
F=void (__thiscall Session::*)(void)
]
: see reference to class template instantiation 'boost::_bi::bind_t<R,F,L>'
being compiled with
[
R=boost::_bi::unspecified,
F=void (__thiscall Session::*)(void),
L=boost::_bi::list2<boost::_bi::value<boost::shared_ptr<Session>>,boost::arg<1>>
]
error C2039: 'result_type' : is not a member of '`global namespace''
А код, как это работает надлежащим образом:
int w;
boost::asio::async_read(socket_, boost::asio::buffer(&w, sizeof(int)),
boost::bind(&Session::Handle_Read_Width, shared_from_this(), boost::asio::placeholders::error));
Пожалуйста, помогите. В чем проблема? Спасибо заранее.