Я использую boost :: signal в собственном классе C ++, и сейчас я пишу оболочку .NET в C ++ / CLI, чтобы я мог представить собственные обратные вызовы C ++ в качестве событий .NET. Когда я пытаюсь использовать boost :: bind для получения адреса функции-члена моего управляемого класса, я получаю сообщение об ошибке компилятора 3374, в котором говорится, что я не могу взять адрес функции-члена, пока я не создаю экземпляр делегата. Кто-нибудь знает, как связать функцию-член управляемого класса, используя boost :: bind?
Для пояснения следующий пример кода вызывает ошибку компилятора 3374:
#include <boost/bind.hpp>
public ref class Managed
{
public:
Managed()
{
boost::bind(&Managed::OnSomeEvent, this);
}
void OnSomeEvent(void)
{
}
};