共用方式為


編譯器警告 C4972

直接修改或將 Unbox 作業的結果視為左值,將無法驗證

對實值類型的控制代碼取值 (也稱為 Unboxing),然後指派給它,這個作業無法驗證。

如需詳細資訊,請參閱 Boxing中定義的介面的私用 C++ 專屬實作。

範例

下列範例會產生 C4972。

// C4972.cpp
// compile with: /clr:safe
using namespace System;
ref struct R {
   int ^ p;   // a value type
};

int main() {
   R ^ r = gcnew R;
   *(r->p) = 10;   // C4972

   // OK
   r->p = 10;
   Console::WriteLine( r->p );
   Console::WriteLine( *(r->p) );
}