1
A
回答
2
這不是一個switch語句錯誤,它是C語言中的一個限制。在C中,case標籤之後的第一條語句不能是變量聲明。您可以通過在switch語句之前聲明變量或在代碼塊內創建變量來解決此問題(請參見下文)。顯然,你也可以重新排序你的代碼(如果可能的話),以便在變量聲明之前出現另一個語句。
實施例1:
CGRect newRect = CGRectZero;
switch(var) {
case 0:
// do some stuff
break;
case 1:
default:
newRect = [someVar someMethodThatReturnsARect];
// other code
break;
}
實施例2:
switch(var) {
case 0:
// do some stuff
break;
case 1:
default: {
CGRect newRect = [someVar someMethodThatReturnsARect];
// other code
break;
}
}
實施例3:
switch(var) {
case 0:
// do some stuff
break;
case 1:
default:
// some code re-ordered to here
CGRect newRect = [someVar someMethodThatReturnsARect];
// rest of the other code
break;
}
0
剛纔檢查Kernighan的&裏奇此。在C規範中沒有描述 的行,說明'case'的第一個語句中的聲明是不允許的。
然而,大多數人認爲這是一個很好的編程,不要在'case'中聲明值。
我認爲b) EXC_BAD_ACCESS in statement block in Switch impact on imageViewPoistion 問題與相同的錯誤有關。
相關問題
- 1. 錯誤switch語句
- 2. switch語句語法錯誤
- 3. Android switch語句錯誤
- 4. XNA Switch語句錯誤
- 5. 是php switch語句錯誤?
- 6. C + + switch語句錯誤
- 7. PHP switch語句錯誤
- 8. PHP switch語句錯誤
- 9. JavaScript switch語句中的語法錯誤
- 10. SIGABRT xcode 4.2錯誤
- 11. Xcode 4.2 SIGABRT錯誤
- 12. 的Xcode 4.2錯誤
- 13. 錯誤switch語句中的Java蝕
- 14. php switch語句錯誤int = 0
- 15. Java的編譯錯誤switch語句
- 16. C++中的switch語句錯誤
- 17. MACRO錯誤使用switch語句時
- 18. C++ Win32 GUI switch語句錯誤
- 19. 簡單的switch語句錯誤?
- 20. Switch語句返回錯誤結果
- 21. C++(在Switch語句中輸入錯誤)
- 22. switch語句中的switch語句?
- 23. switch語句錯誤:語句必須以case標籤被前置
- 24. 將語句設置爲switch語句中的edittext的錯誤
- 25. Switch語句VS If語句
- 26. switch語句比
- 27. jQuery switch語句(?)
- 28. 從switch語句
- 29. Javascript switch語句?
- 30. PHP switch()語句
這已經存在了很長時間了;你不能用聲明來啓動一個case塊。 –