我正在尝试使用从下面的链接获得的代码在C ++中实现事件机制
https://www.codeproject.com/Articles/1256352/CppEvent-How-to-Implement-Events-using-Standard-Cp
当我尝试在CLI类中使用subscription事件时,出现错误消息
错误:托管类的成员函数中不允许使用本地lambda
如果我在C ++中使用同一事件,它将起作用。 CLI中存在问题
如何解决以上错误?
下面显示了我的CLI和C ++代码
'''CLI
TestCLI::TestCLI()
{
//Event Subscription
testClassCpp.LogNotification += [this](string data)//Error:Local lambda is not allowed in a member function of managed class
{
Write(data);
};
}
void TestCLI::Write(string data)
{
cout<<data<<endl;
}
'''
'''CPP
class __declspec(dllexport) TestClassCpp
{
public:
//Event mechanism obtained from the above link
sz::event <string>LogNotification;
};
'''