次の方法で共有


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