Ich verwende boost::signal in einer nativen C++-Klasse, und ich schreibe jetzt einen .NET-Wrapper in C++/CLI, damit ich die nativen C++-Callbacks als .NET-Ereignisse darstellen kann. Wenn ich versuche, boost::bind zu verwenden, um die Adresse einer Mitgliedsfunktion meiner verwalteten Klasse zu übernehmen, erhalte ich den Compilerfehler 3374, der besagt, dass ich die Adresse einer Mitgliedsfunktion nur übernehmen kann, wenn ich eine Delegateninstanz erstelle. Weiß jemand, wie man eine Mitgliedsfunktion einer verwalteten Klasse mit boost::bind binden kann?
Zur Verdeutlichung: Der folgende Beispielcode verursacht den Compilerfehler 3374:
#include <boost/bind.hpp>
public ref class Managed
{
public:
Managed()
{
boost::bind(&Managed::OnSomeEvent, this);
}
void OnSomeEvent(void)
{
}
};