[問題] switch的變數 redifine 問題

看板C_and_CPP (C/C++)作者 (幻)時間16年前 (2009/09/16 02:01), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
請問 以下這樣的寫法是不行的嗎 compile會跟我說變數redefined switch(x) { case EStatus1: char[40] oldval; char[40] newval; oldval.... //使用這兩個變數 break; case EStatus2; char[40] oldval; char[40] newval; .... //一樣是使用這兩個變數 break; } 如果把oldval跟newval的定義 寫在switch之前 那就ok 只是這樣我在不同case裡 要用這兩個變數時 就得先多一個步驟把變數清空(reset) (若不是char[40]而是其他自定義的class 就比較麻煩) 我以為能像if..else 一樣 可以在兩個{ }區塊內都定義 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.138.49

09/16 02:08, , 1F
你的 code 沒區塊呀, 要的話在 case 後用 { } 包起來
09/16 02:08, 1F

09/16 02:09, , 2F
變數的 scope 在區塊內, 就不會有重覆定義的問題
09/16 02:09, 2F
文章代碼(AID): #1AhzPbZo (C_and_CPP)
文章代碼(AID): #1AhzPbZo (C_and_CPP)