Partager via


Erreur du compilateur C3893

'var' : l-value use of initonly data member is only allowed initonly dans un constructeur d’instance de la classe 'type_name'

Les membres de données statiques ne peuvent avoir leur adresse que dans un constructeur statique.

Les membres de données d’instance (non statiques) peuvent uniquement avoir leur adresse prise en charge par les constructeurs d’instance (non statiques).

L’exemple suivant génère l’erreur C3893 :

// C3893.cpp
// compile with: /clr
ref struct Y1 {
   Y1() : data_var(0) {
      int% i = data_var;   // OK
   }
   initonly int data_var;
};

int main(){
   Y1^ y= gcnew Y1;
   int% i = y->data_var;   // C3893
}