Error del compilador C3897

Actualización: noviembre 2007

Mensaje de error

'var' : solamente los miembros de datos initonly estáticos pueden tener una expresión de inicializador
'var' : only static initonly data members can have an initializer expression

Un miembro de datos initonly sólo se puede inicializar en la declaración si también es estático.

El ejemplo siguiente genera el error C3897:

// C3897.cpp
// compile with: /clr /c
ref struct Y1 {
   initonly int data_var1 = 9;   // C3897

   initonly static int data_var2 = 9;   // OK

   initonly int data_var3;   // declare initonly instance
   Y1() { data_var3 = 99; }   // initialize initonly instance
};