Freigeben über


C28198

Warnung C28198: Eventuell Speicherverlust aufgrund einer Ausnahme.

Diese Warnung gibt an, die wird nicht freigegeben belegte Speicher, nachdem eine Ausnahme ausgelöst wurde.Die Anweisung am Ende des Pfads kann eine Ausnahme auslösen.Der Speicher wurde an eine Funktion übergeben, die möglicherweise eine später gespeichert freigegeben werden, Kopie.

Diese Warnung entspricht dem Warnung von C28197 sehr ähnlich.Die Anmerkungen, die für das - Warnung von C28197 empfohlen werden, können auch hier verwendet werden.

Beispiel

Im folgenden Code wird diese Warnung generiert:

char *p1 = new char[10];
char *p2 = new char[10];

test(p1);   // does not save a copy of p

delete[] p2;
delete[] p1;

Im folgenden Codebeispiel werden diese Warnung:

char *p1 = new char[10];
char *p2 = NULL;

test(p1);   // does not save a copy of p
try {
    p2 = new char[10];
} catch (std::bad_alloc *e) {
    // just handle the throw
    ;
}