Error del compilador C3900

Actualización: noviembre 2007

Mensaje de error

'miembro': no se permite en el ámbito actual
'member': not allowed in current scope

Los bloques de propiedades sólo pueden contener declaraciones de función y definiciones de la función inline. En los bloques de propiedades no se permite ningún miembro que no sea una función. No se permiten definiciones de tipos, operadores ni funciones friend. Para obtener más información, vea propiedad.

Las definiciones de eventos sólo pueden contener métodos de acceso y funciones.

El ejemplo siguiente genera el error C3900:

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

El ejemplo siguiente genera el error 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( ) {}
   }
};