Compiler Error C3900


For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

'member': not allowed in current scope

Property blocks can contain function declarations and inline function definitions only. No members other than functions are allowed in property blocks. No typedefs, operators, or friend functions are allowed. For more information, see property.

Event definitions can only contain access methods and functions.

The following sample generates C3900:

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

The following sample generates 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( ) {}