Condividi tramite


Errore del compilatore C3893

'var': l-value uso del membro dati initonly è consentito solo in un costruttore di istanza della classe 'type_name'

I membri dati statici possono avere il loro indirizzo solo in un costruttore statico.

I membri dati initonly dell'istanza (non statici) possono avere il loro indirizzo solo in costruttori di istanza (non statici).

L'esempio seguente genera l'errore 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
}