Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
'function' : rögzítő mutatókat használ, de az unwind szemantika nincs engedélyezve. Fontolja meg az /EHa használatát
Megjegyzések
A blokkhatókörben deklarált rögzítési mutató által mutatott felügyelt halomra mutató objektum rögzítésének feloldásához a fordító szimulálja a helyi osztályok destruktorainak viselkedését, a rögzítési mutató "úgy tesz", mintha egy olyan destruktor lenne, amely érvényteleníti a mutatót. Ha engedélyezni szeretné a destruktor hívását a kivétel kivetése után, engedélyeznie kell az objektum kikapcsolását, amelyet az /EHsc használatával tehet meg.
Manuálisan is feloldhatja az objektum rögzítését, és figyelmen kívül hagyhatja a figyelmeztetést.
Example
Az alábbi példa C4823-at hoz létre.
// 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 );
}