2

MS Visual Studio 2010 を使用して発生した不適切なポインター エラーに関するアドバイスが必要でした。

FILE *rawDataFile = fopen("C:\\Data.txt", "rb");

上記の行が実行された後、リリース/デバッグ モードの両方を使用してコードをステップ実行している間、変数を監視しているときに常に < Bad Ptr > 宣言を取得することになります。

なぜこれが起こっているのか本当にわかりません。メモリが適切に割り当てられていることがわかる限り、以前にメモリの破損は発生していないようです。

これをさらに掘り下げるのに役立つ指針を本当にいただければ幸いです。

ここに画像の説明を入力

4

1 に答える 1

3

<Bad Ptr>必ずしもメモリの破損を示しているわけではなく、必ずしもエラーを示しているわけでもありません。この場合、ポインターがnullであることを意味しているため、デバッガーはポイントされたオブジェクトに関する情報を提供できません(ポインターがnullであるため、そのようなオブジェクトはありません)。

構造体のデータメンバーの値は、FILE実装によって定義されます。Visual C ++の実装では、これらのメンバーがnullになる場合があります。これは正常です。

于 2012-08-21T23:32:47.560 に答える