Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"function" : använder fästpekare men varva ned semantik är inte aktiverade. Överväg att använda /EHa
Anmärkningar
Om du vill ta bort ett objekt i den hanterade heapen som pekas ut av en pinpekare deklarerad i ett blockomfång simulerar kompilatorn destruktorers beteende i lokala klasser och "simulerar" att pinpekaren har en destruktor som upphäver pekaren. Om du vill aktivera ett anrop till en destruktor efter att ha genererat ett undantag måste du aktivera avveckling av objekt, vilket du kan göra genom att använda /EHsc.
Du kan också avfästa objektet manuellt och ignorera varningen.
Example
I följande exempel genereras C4823.
// 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 );
}