C28198
upozornění C28198: Možné nevrácení paměti z důvodu výjimky.
Toto upozornění ukazuje, že při vyvolání výjimky není přidělená paměť uvolněna.Příkaz na konci cesty může vyvolat výjimku.Paměť byla předána funkci, která mohla uložit kopii pro pozdější uvolnění.
Toto upozornění je velmi podobné upozornění C28197.Poznámky vhodné pro použití s upozorněním C28197 mohou být použity i pro toto upozornění.
Příklad
Následující ukázka kódu generuje toto upozornění:
char *p1 = new char[10];
char *p2 = new char[10];
test(p1); // does not save a copy of p
delete[] p2;
delete[] p1;
Následující ukázka kódu předchází tomuto upozornění:
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
;
}