Ошибка C3918: ошибка при проверке события на предмет отсутствия значения - PullRequest
1 голос
/ 17 мая 2011

У меня есть делегат и событие в моем файле .h

delegate void ResponseReceivedHandler(System::Object^ sender, WhoisEventArgs^ e);
event ResponseReceivedHandler^ ResponseReceived; 

где-то в моем коде. Я хочу проверить, является ли событие nullptr или нет, но когда я пишу

РЕДАКТИРОВАНИЕ:

if (this->ResponseReceived != nullptr)
{
     this->ResponseReceived(this, e);
}

Произошла ошибка

Ошибка 1 ошибка C3918: для использования требуется, чтобы VT: WhoisClient :: WhoisRequest :: ResponseReceived был даннымичлен c: \ Users \ ViToBrothers \ Desktop \ ViTo Projects \ VT.WhoisClient \ VT.WhoisClient \ VT.WhoisRequest.cpp 50

Что я могу сделать?

1 Ответ

3 голосов
/ 17 мая 2011

Я считаю, что в этом случае компилятор генерирует функции доступа и резервное хранилище для делегата обработчика событий.Таким образом, вам не нужно проверять на ноль.

Подробнее здесь: http://msdn.microsoft.com/en-us/library/4b612y2s.aspx

...