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


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

"тип": тривиальное свойство не может иметь ссылочный тип

Свойство объявлено неправильно. При объявлении обычного свойства компилятор создает переменную, которую будет обновлять свойство. В классе не может присутствовать ссылочная переменная с отслеживанием.

Дополнительные сведения см. в операторе ссылок на свойства и отслеживании.

Пример

Следующий пример приводит к возникновению ошибки 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;
}