.net 错误C3918:检查事件是否为nullptr时出错
我的.h文件中有委托和事件.net 错误C3918:检查事件是否为nullptr时出错,.net,events,delegates,c++-cli,.net,Events,Delegates,C++ Cli,我的.h文件中有委托和事件 delegate void ResponseReceivedHandler(System::Object^ sender, WhoisEventArgs^ e); event ResponseReceivedHandler^ ResponseReceived; 在我的代码中的某个地方,我想检查事件是nullptr还是no,但当我编写 编辑: if (this->ResponseReceived != nullptr) { this->Resp
delegate void ResponseReceivedHandler(System::Object^ sender, WhoisEventArgs^ e);
event ResponseReceivedHandler^ ResponseReceived;
在我的代码中的某个地方,我想检查事件是nullptr
还是no,但当我编写
编辑:
if (this->ResponseReceived != nullptr)
{
this->ResponseReceived(this, e);
}
发生错误
错误1错误C3918:使用要求
'VT::WhoisClient::WhoisRequest::ResponseReceived'
成为一个数据中心
成员c:\Users\ViToBrothers\Desktop\ViTo
项目\VT.WhoisClient\VT.WhoisClient\VT.WhoisRequest.cpp 50
我能做什么?我相信在这种情况下,编译器正在为事件处理程序委托生成访问器函数和后备存储。因此,您不必检查null
<>参见这里:你编写的代码看起来像C++,不是C++ + CLI。我从C语言中得到了例子,想改成C++。NET(如果这个。代码>这是一个指针。指针与
->
一起使用。你需要使用正确的C++语法,否则你会得到编译错误。对不起,我纠正了……文档解释了如何引发事件。