割り当て解除されたストレージへのポインターが使用されています。
この診断は、ポイント先のストレージの割り当てが解除された後でポインター値が使用されるさまざまな方法が対象です。割り当て解除されたポインターの逆参照に関するエラーは、別の診断としてレポートされます。この診断は、関数の戻り値として割り当て解除されたストレージのアドレスが返されるなど、その他の使用方法が対象です。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
不正なメモリーアクセス |
不正なアドレスが使用された場所 |
2 |
解放サイト |
アドレスの割り当てが解除された場所 |
#include <iostream> using namespace std; int glob; int *UseDeallocatedStorage() { int *p = new int[10]; delete [] p; // p is now a stale pointer if (p != 0) // used in compare cout << "p == 0: " << p << endl; // used in print glob = (int) p; // used in type conversion to integer } return (p); // used as function return } int main(int argc, char **argv) { (void)UseDeallocatedStorage(); return 0; }
© 2010 Intel Corporation. 無断での引用、転載を禁じます。