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
;
}