分享方式:


編譯器錯誤 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
}