コンパイラ エラー C3893
'var': initonly データ メンバーの左辺値は、クラス 'type_name' のインスタンス コンストラクターだけで使用できます
静的な initonly データ メンバーは、静的コンストラクターでのみアドレスを取得できます。
インスタンス (非静的) initonly データ メンバーは、インスタンス (非静的) コンストラクターでのみアドレスを取得できます。
次の例では 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
}