我有一个A类,它实现一个接口ICLI/C++虚拟事件处理器
在界面I是声明:
virtual event System::EventHandler ^eh;
在AI的头文件中由similare声明实现此:
virtual event System::EventHandler ^eh;
在AI的cpp文件
希望该事件的委托分配给anotheter变量:
EventHandler ^eh2 = eh;
这给了错误
Error 285 error C3918: usage requires 'eh' to be a data
我也尝试
EventHandler^ eh2 = gcnew System::EventHandler(eh);
这给了错误:
Error 285 error C3924: error in argument #1 of delegate constructor call 'System::EventHandler':
你可以发布你的整个接口和实现类声明,以及你得到编译错误的整个函数吗?除此之外,你读过这个吗? http://msdn.microsoft.com/en-us/library/w901cc8a%28v=VS.100%29.aspx –
从接口的事件定义中删除虚拟机时会发生什么?只有实现类应该将事件定义为虚拟的,而不是接口本身。 –
@Roger:有点不相关,但界面没有定义,它只是声明 –