铏界劧濡傛錛屼絾鏄幇鍦ㄧ殑C++緙栬瘧鍣ㄩ氬父鍍廋緙栬瘧鍣ㄤ竴鏍鳳紝鍦ㄤ竴涓▼搴忓潡鐨勫紑澶村氨鍒嗛厤濂芥墍鏈夊彉閲忕殑鍐呭瓨銆傝繖涓鍒囧浜庣▼搴忓憳鏉ヨ鏄忔槑鐨勶紝鍥犱負(fù)鎴戜滑鐨勫彉閲忓湪瀹氫箟涔嬪墠鎬繪槸鏃犳硶寰楀埌瀛樺偍絀洪棿錛屽嵆渚跨紪璇戝櫒榪欎箞騫蹭簡(jiǎn)錛?br />鍗充嬌瀛樺偍絀洪棿鍦ㄤ竴寮濮嬪氨琚垎閰嶄簡(jiǎn)錛屼絾鏄疌++瀵硅薄鐨勬瀯閫犲嚱鏁頒粛鐒墮渶瑕佸埌瀵硅薄瀹氫箟鐨勬椂鍊欐墠浼?xì)琚皟鐢ㄥQ屽洜涓烘爣璇嗙鍙湁鍒版鏃舵墠鏄湁鏁堢殑銆傜紪璇戝櫒涓轟簡(jiǎn)闃叉紼嬪簭鍛樼敤涓浜涙潯浠墮夋嫨鎵嬫璺寵繃鍙橀噺鐨勫垵濮嬪寲灝卞紑濮嬩嬌鐢紝瀹冧細(xì)媯(gè)鏌ヤ唬鐮佷腑鏄惁鎶婁竴涓彉閲忓璞$殑瀹氫箟鏀懼埌浜?jiǎn)鏉′欢鍧椾腑锛屾瘮濡俿witch鐨刢ase鍧楋紝goto絳夛紝鐪嬩笅闈㈣繖孌典唬鐮侊細(xì)
1 #include <iostream>
2 #include <string>
3
4 using namespace std;
5
6 class A{
7 public:
8 //A(){} //瀵逛簬VC2005鍜孏CC鏉ヨ錛屽彧鏈夋彁渚涙瀯閫犲嚱鏁幫紝緙栬瘧鍣ㄦ墠浼?xì)妫嫻嬪嚭閿欒
9 int b;
10 };
11
12 int main()
13 {
14 int i;
15 cin>>i;
16
17 if (i < 10)
18 goto flag;
19
20 A fsd; //鏋勯犲嚱鏁扮殑璋冪敤琚玤oto璺寵繃
21 fsd.b = i;
22
23 flag:
24 switch (i)
25 {
26 case 1:
27 A a;
28 a.b = 3;
29 break;
30 case 10:
31 {
32 A aa;
33 aa.b = 10;
34 cout<<a.b<<endl; //error C2360: initialization of 'a' is skipped by 'case' label
35 break;
36 }
37 default:
38 break;
39 }
40
41 cout<<fsd.b<<endl;//濡傛灉杈撳叆鍙傛暟灝忎簬10錛岄偅涔坒sd鐨勫垵濮嬪寲灝嗚璺寵繃錛岀▼搴忚繍琛屽埌榪欓噷宕╂簝
42
43 return 0;
44 }
杈撳叆1錛岃煩榪囦簡(jiǎn)fsd鐨勫垵濮嬪寲錛岀▼搴忚繍琛岀粨鏋滀笉鍙煡銆?br />杈撳叆10錛岃煩榪囦簡(jiǎn)a鐨勫垵濮嬪寲錛岀▼搴忚繍琛岀粨鏋滃悓鏍蜂笉鍙煡銆?br />

]]>