перечисление Visual C ++ (CloseReason) - PullRequest
       23

перечисление Visual C ++ (CloseReason)

0 голосов
/ 21 сентября 2009

Когда я пишу следующее:

private: System::Void queue_FormClosing(
    System::Object^ sender, 
    System::Windows::Forms::FormClosingEventArgs^ e) {
    if(e->CloseReason!=CloseReason::FormOwnerClosing) e->Cancel=true;
}

Я получаю эту ошибку:

### \ queue.h (153): ошибка C2039: «FormOwnerClosing»: не является членом «System :: Windows :: Forms :: Form :: CloseReason» 1> ### \ queue.h (24): см. Объявление «System :: Windows :: Forms :: Form :: CloseReason» 1> ### \ queue.h (153): ошибка C2065: «FormOwnerClosing»: необъявленный идентификатор

Я не понимаю, почему это так. Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 21 сентября 2009

По какой-то причине вам необходимо полностью квалифицировать перечисление как System :: Windows :: Forms :: CloseReason :: FormOwnerClosing.

Не компилируется:

private: System::Void Form1_FormClosing(System::Object^  sender,
                 System::Windows::Forms::FormClosingEventArgs^  e) {
  if (e->CloseReason == CloseReason::FormOwnerClosing) {
    e->Cancel = true;
  }
}

Компилирует:

private: System::Void Form1_FormClosing(System::Object^  sender,
                 System::Windows::Forms::FormClosingEventArgs^  e) {
  if (e->CloseReason == System::Windows::Forms::CloseReason::FormOwnerClosing) {
    e->Cancel = true;
  }
}

Не знаю, зачем вам нужно его полностью квалифицировать, но он позволяет его компилировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...