VC++コードが正常に動作していました(&)突然私はなぜ "Debug assertion failed"というエラーが出るのか理解できません。エラーを取得する「デバッグアサーションに失敗しました」エラーが突然コードの変更なしで発生しました。 (C++コードで)
file:f\dd\vctools\crt_bld\self_x86\crt\src\fclose.c.
私はVS2008をWIn7 64bit OSで使用しています。
正常に動作していたコードが、コードを変更せずに突然この方法で破損した原因は何でしょうか?
誰でもこのエラーを取り除くのを手伝ってもらえますか?私はこの前のコードは、ファイル
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\crt\src\crt0dat.c
while (pfbegin < pfend)
{
/*
* if current table entry is non-NULL, call thru it.
*/
if (*pfbegin != NULL)
(**pfbegin)();
++pfbegin;
}
そして、そうであるコールスタックで見た
は、fclose()
はヌルファイルポインタを受信しています。私は真剣に、なぜこれが間違ったファイルポインタの値を取得しているのか、コードや環境に何も変更を加えずに突然私が理解できません。
推測:対応する 'fopen()'によってオープンされたファイルが失敗し、nullポインタが 'fclose()'に渡されましたか? – hmjd
関連するコードスニペット(アサーションが失敗する前のコード行)を投稿してください。 –
はい質問に必要なコードを編集しました。 :) – codeLover