コンパイラがステートメントをどのように解釈しているかを理解することに興味があります…</p>
プロジェクトタイプはC++IDEはXCode3.264ビットオペレーティングシステムはMacOSX 10.6.8
注意:コードサンプルは無限ループです。
以下のコードサンプルまたは添付の画像。コンパイラは何をしているのでしょうか。大きなエラーは発生せず、小さなエラーも発生しません(現在のコンパイラ設定を前提としています)。ケースステートメントCで何が起こっているかを理解することに主に関心があります。
bool nrContinue;
enum Task {
A,
B,
C,
D
};
nrContinue = 1;
Task nrTask = A;
while (nrContinue) {
switch (nrTask) {
case A:
cout << endl << "Processing task: " << A;
nrTask = B;
break;
case B:
cout << endl << "Processing task: " << B;
nrTask = C;
break;
case C:
cout << endl << "Processing task: " << C;
// --------------------------------------------------
// Below is the statement of my misunderstanding
D; // What is going on at this statement
break;
case D:
cout << endl << "Processing task: " << C;
nrContinue = 0;
break;
default:
cout << endl << "Default case was unexpected.";
nrContinue = 0;
break;
}
} // loop