Поделиться через


Ошибка компилятора C3900

"member": не разрешено в текущей области

Блоки свойств могут содержать объявления функций и только встроенные определения функций. Элементы, отличные от функций, не допускаются в блоках свойств. Нет разрешенных функций typedefs, операторов или дружественных функций. Дополнительные сведения см. в разделе property.

Определения событий могут содержать только методы и функции доступа.

Следующий пример приводит к возникновению ошибки C3900:

// C3900.cpp
// compile with: /clr
ref class X {
   property int P {
      void set(int);   // OK
      int i;   // C3900 variable declaration
   };
};

Следующий пример приводит к возникновению ошибки C3900:

// C3900b.cpp
// compile with: /clr
using namespace System;
delegate void H();
ref class X {
   event H^ E {
      int m;   // C3900

      // OK
      void Test() {}

      void add( H^ h ) {}
      void remove( H^ h ) {}
      void raise( ) {}
   }
};