Compiler Error C3804

 

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

'property_accessor': the accessor methods for a property must either be all static or all non-static

When defining a non-trivial property, the accessor functions can be either static or instance, but not both.

See property for more information.

The following sample generates C3804.

// C3804.cpp  
// compile with: /c /clr  
ref struct A {  
  
   property int i {  
      static int get() {}  
      void set(int i) {}  
   }   // C3804 error  
  
   // OK  
   property int j {  
      int get() { return 0; }  
      void set(int i) {}  
   }  
  
   property int k {  
      static int get() { return 0; }  
      static void set(int i) {}  
   }  
};  

Show: