C28198
警告的 C28198:可能泄漏的内存因为异常。
此警告意味着分配的内存不会释放,在引发异常后。 位于路径末尾的语句可能会引发异常。 内存传递给可能已保存后将释放的副本的功能。
此警告类似于警告 C28197。 建议将与警告 C28197 的批注也可以使用此处。
示例
下面的代码示例生成此警告:
char *p1 = new char[10];
char *p2 = new char[10];
test(p1); // does not save a copy of p
delete[] p2;
delete[] p1;
下面的代码示例避免此警告:
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
;
}