bool bDeleted = false;
if (partfile,bDeleted)
partfile->PerformFileCompleteEnd(wParam);
は、if
文はpartfile、bDeletedを評価しますが、式は実行に失敗したのでBDELETEは、常にfalseです。重要な問題は、「それは何のことなの?可能性としては、誰かが一時的にpartfile->PerformFileCompleteEnd(wParam);
文が実行されないようにしたいと思っていたことが考えられます。これはおそらく何らかの問題を引き起こしていたか、彼らは以前の "if(partfile)"ロジックを残していたが、partfile->Perform...
ロジックが効果的にプログラムから "削除"されたことを文書化するためにハードコーディングされたbDeleted変数を追加した。
一時的にそのようなコードを無効にする良い方法は、時々私も推論を文書化しようとするのに... ... ...おそらく
#if 0
if (partfile)
partfile->PerformFileCompleteEnd(wParam);
#endif
ある
#ifndef DONT_BYPASS_FILE_COMPLETE_PROCESSING_DURING_DEBUGGING
if (partfile)
partfile->PerformFileCompleteEnd(wParam);
#endif
...か...
if (partFile, !"FIXME remove this after debugging")
partfile->PerformFileCompleteEnd(wParam);
最良の選択は、あなたのツールセットと既存の習慣に依存します(例えば、いくつかのエディタのハイライト「FIXME」と「TODO」逆のビデオでは、#if 0ブロックを見逃したりグレーアウトしたりするのは難しいです。ソース制御チェックインが警告する特定の文字列があるかもしれません。プリプロセッサは、デバッグとリリースビルドでのみ定義され、偶発的な配布などを防ぐことができます)。
おそらく、これが役立ちます。http://stackoverflow.com/questions/54142/c-comma-operator –
一つの可能性がありますコーダーは 'if(partfile && bDeleted)'を意味し、他のいくつかのプログラミング言語は '' aとb ''を意味する '' IF a、b''を持っています。 –