Share via


Derleyici Uyarısı (düzey 3) C4823

'function' : sabitleme işaretçilerini kullanır, ancak geri sarma semantiği etkinleştirilmez. /EHa kullanmayı göz önünde bulundurun

Blok kapsamında bildirilen bir sabitleme işaretçisi tarafından işaret edilen yönetilen yığındaki bir nesneyi kaldırmak için, derleyici yerel sınıfların yıkıcılarının davranışını simüle eder ve sabitleme işaretçisinin işaretçiyi sıfırlayan bir yıkıcısı vardır. Bir özel durum oluşturduktan sonra yıkıcıya çağrıyı etkinleştirmek için, /EHsc kullanarak yapabileceğiniz nesne geri sarmayı etkinleştirmeniz gerekir.

Ayrıca nesneyi el ile kaldırıp uyarıyı yoksayabilirsiniz.

Örnek

Aşağıdaki örnek C4823 oluşturur.

// C4823.cpp
// compile with: /clr /W3 /EHa-
using namespace System;

ref struct G {
   int m;
};

void f(G ^ pG) {
   try {
      pin_ptr<int> p = &pG->m;
      // manually unpin, ignore warning
      // p = nullptr;
      throw gcnew Exception;
   }
   catch(Exception ^) {}
}   // C4823 warning

int main() {
   f( gcnew G );
}