Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Directly modifying or treating the result of an unbox operation as an lvalue is unverifiable
Dereferencing a handle to a value type, also known as unboxing, and then assigning to it is not verifiable.
For more information, see Boxing.
Example
The following sample generates 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) );
}