INFO
Я бы хотел использовать boost :: function для передачи обратного вызова в качестве параметра, например, так:
void ReadPacket(
boost::function<void (const boost::system::error_code&, Packet* p)> callback);
, а затем использовать его:
ReadPacket(boost::bind(
&ServerSession::storePacket,
this,
_1,
_2
));
В конце концов, после цепочки обратных вызовов я звоню
callback(ec, packet);
ПРОБЛЕМА
Я только что скомпилировал решение в Отладка и все выглядит ОК ...
но в Release Я получил много ошибок, упомянутых выше
BasicSession.h(30): error C2039: 'function' : is not a member of 'boost'
BasicSession.h(30): error C2061: syntax error : identifier 'function'
BasicSession.h(30): error C2059: syntax error : ')'
BasicSession.h(30): error C2143: syntax error : missing ')' before ';'
Я в замешательстве и разочарован.
ПРЕДЛОЖЕНИЕ
Я обнаружил, что в boost::function
используется другой синтаксис.Например boost::function0
или boost::function1
.Это было сделано из-за того, что VS2010 не поддерживает что-то (я не знаю, что именно)
Я прав?
Мне также нужно сделать это приложение переносимым и кроссплатформенным, так каквозможно.
повышение 1.47 и VS2010