我知道C++ 03不允許在switch塊中定義變量而不使用 大括號。C++ 11:聲明switch語句中的變量
const int i = ...
switch (i) { case 0: int j = 0; break; } // 1. error here
switch (i) { case 0: { int j = 0; } break; } // 2. ok
什麼是關於新的C++ 11標準? 它允許第一種形式嗎? 我也可以這樣寫:
switch (i)
{
case 0: int j = 0; break;
case 1: int j = 0; break;
case 2: int j = 0; break;
}
那麼,還是要用塊。另外,你的第一個例子有點混亂,只是FYI。 – sircodesalot
第一個例子中的錯誤是什麼?對我來說看起來很好。還是你的意思是到處使用'i',而不是'i'和'j'? – Praetorian
我只想說,我們有選擇 - 我和定義distictly命名爲另一個變量 - J – 4xy