Error del compilador C3893
'variable': el uso del valor L del miembro de datos initonly solamente se permite en un constructor de instancia de clase 'nombre_de_tipo'
La dirección de los miembros de datos estáticos initonly solo se puede tomar en un constructor estático.
La dirección de los miembros de datos initonly (no estáticos) solo se puede tomar en constructores de instancia (no estáticos).
El ejemplo siguiente genera el error 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
}