編譯器錯誤 C3893
'var' :只有 'type_name' 類別的實例建構函式中,才允許使用 initonly 數據成員的 l 值
靜態 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
}