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
}