既存システムの改修にて次のようなコードを発見しました。
c
1enum { 2 TIMER0 = 0, 3 TIMER1, 4 TIMER2, 5 TIMER3, 6}; 7 8void func() 9{ 10 // 処理 11 12 TIMER1, 13 TIMER2, 14 TIMER3, 15 swFlag = OK; 16}
func内のenum値を並べている箇所がコンパイルエラーにならない理由を教えてください。
ビルド後はアドレスが割り当てられていなかったので、この行自体は無視されているようです(HEW環境の場合)
この書き方は極論すれば、1,2,3,swFlag=OK;
と書いていることになりますが、代入式の左辺にカンマがなぜ許されているのでしょうか。
ちなみに同じようなことをideoneで試してみたらランタイムエラーになりました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/28 08:41