• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            void   func(   void   )   
            {   
                    
            int   x;   
                    
            switch   (   x   )   
                    {   
                    
            case   0   :   
                          
            int   i   =   1;               //   error,   skipped   by   case   1       
                          {   int   j   =   1;   }       //   ok,   initialized   in   enclosing   block   
                    case   1   :   
                          
            int   k   =   1;               //   ok,   initialization   not   skipped   
                    }   
            }

            在VC中使用switch語(yǔ)句時(shí)遇到“error C2360: initialization of 'k' is skipped by 'case' label”的編譯錯(cuò)誤。

            msdn有下面的說(shuō)明:   
            compiler   error   c2360   
            initialization   of   identifier   is   skipped   by   case   label  
            the   specified   identifier   initialization   can   be   skipped   in   a   switch   statement.   
            it   is   illegal   to   jump   past   a   declaration   with   an   initializer   unless   the   declaration   is   enclosed   in   a   block.   
            the   scope   of   the   initialized   variable   lasts   until   the   end   of   the   switch   statement   unless   it   is   declared   in   an   enclosed   block   within   the   switch   statement.   
            the   following   is   an   example   of   this   error: 



            在switch語(yǔ)句內(nèi)定義一個(gè)變量的時(shí)候,如果不在一個(gè)語(yǔ)句塊內(nèi),它是直到遇到switch的"}"才結(jié)束的。int i = 1;錯(cuò)誤,錯(cuò)就錯(cuò)在它是以switch的"}"結(jié)束的,此時(shí)被case 1:語(yǔ)句跳過(guò)。int j = 1;它是遇到下面的"}"就結(jié)束了,因此正確。int k = 1;它雖然沒(méi)有在一個(gè)語(yǔ)句塊中,但它的下一個(gè)結(jié)束"}"正好就是switch的"}",不會(huì)被跳過(guò),因此也正確。

            所以,如果有在case內(nèi)定義新變量,最好將該條case內(nèi)的語(yǔ)句加上{}構(gòu)成語(yǔ)句塊,避免出錯(cuò)。
            總之而言:在case里面聲明變量要用{}進(jìn)行作用域限制。

            久久精品aⅴ无码中文字字幕不卡| 三级韩国一区久久二区综合 | 久久www免费人成看片| 精品999久久久久久中文字幕| 久久久久亚洲AV无码专区体验| 久久精品亚洲精品国产色婷| 久久综合狠狠色综合伊人| 国产午夜精品久久久久九九电影| 亚洲欧美精品一区久久中文字幕| 久久精品国产亚洲精品2020| 无夜精品久久久久久| 狠狠色丁香久久综合五月| 久久久久亚洲AV成人网人人网站| 国产韩国精品一区二区三区久久| 成人综合久久精品色婷婷| 精品久久久久久中文字幕| 亚洲欧洲日产国码无码久久99| 国产精品99久久久久久董美香 | 漂亮人妻被中出中文字幕久久| 久久久久人妻精品一区二区三区 | 久久国产精品免费| 久久午夜综合久久| 亚洲国产欧美国产综合久久| 国产农村妇女毛片精品久久| 国产午夜精品理论片久久| 麻豆精品久久久一区二区| 久久婷婷国产综合精品| 久久伊人五月丁香狠狠色| yellow中文字幕久久网| 久久精品国产久精国产| 精品人妻久久久久久888| 国内精品伊人久久久久777| 亚洲精品视频久久久| 看全色黄大色大片免费久久久| 精品久久久久久综合日本| AV狠狠色丁香婷婷综合久久 | 思思久久精品在热线热| 欧美激情精品久久久久久| 久久久久亚洲?V成人无码| 色综合久久88色综合天天 | 午夜精品久久久久9999高清|