Я использую boost:: signal в родном классе С++, и теперь я пишу .NET-оболочку .NET в С++/CLI, чтобы я мог вызывать собственные обратные вызовы С++ как .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)
{
}
};