Expand Minimize
This topic has not yet been rated - Rate this topic

Compiler Error C3290

'type' : a trivial property cannot have reference type

A property was declared incorrectly. When you declare a trivial property, the compiler creates a variable that the property will update, and it is not possible to have a tracking reference variable in a class.

See property and % (Tracking Reference) for more information.

The following sample generates C3290.

// C3290.cpp
// compile with: /clr /c
ref struct R {};

ref struct X {
   R^ mr;

   property R % y;   // C3290
   property R ^ x;   // OK

   // OK
   property R% prop {
      R% get() { 
         return *mr; 
      }

      void set(R%) {}
   }
};

int main() {
   X x;
   R% xp = x.prop;
}
Did you find this helpful?
(1500 characters remaining)

Community Additions

ADD
© 2013 Microsoft. All rights reserved.