铏界劧濡傛錛屼絾鏄幇鍦ㄧ殑C++緙栬瘧鍣ㄩ氬父鍍廋緙栬瘧鍣ㄤ竴鏍鳳紝鍦ㄤ竴涓▼搴忓潡鐨勫紑澶村氨鍒嗛厤濂芥墍鏈夊彉閲忕殑鍐呭瓨銆傝繖涓鍒囧浜庣▼搴忓憳鏉ヨ鏄忔槑鐨勶紝鍥犱負鎴戜滑鐨勫彉閲忓湪瀹氫箟涔嬪墠鎬繪槸鏃犳硶寰楀埌瀛樺偍絀洪棿錛屽嵆渚跨紪璇戝櫒榪欎箞騫蹭簡錛?br />鍗充嬌瀛樺偍絀洪棿鍦ㄤ竴寮濮嬪氨琚垎閰嶄簡錛屼絾鏄疌++瀵硅薄鐨勬瀯閫犲嚱鏁頒粛鐒墮渶瑕佸埌瀵硅薄瀹氫箟鐨勬椂鍊欐墠浼氳璋冪敤錛屽洜涓烘爣璇嗙鍙湁鍒版鏃舵墠鏄湁鏁堢殑銆傜紪璇戝櫒涓轟簡闃叉紼嬪簭鍛樼敤涓浜涙潯浠墮夋嫨鎵嬫璺寵繃鍙橀噺鐨勫垵濮嬪寲灝卞紑濮嬩嬌鐢紝瀹冧細媯鏌ヤ唬鐮佷腑鏄惁鎶婁竴涓彉閲忓璞$殑瀹氫箟鏀懼埌浜嗘潯浠跺潡涓紝姣斿switch鐨刢ase鍧楋紝goto絳夛紝鐪嬩笅闈㈣繖孌典唬鐮侊細
1 #include <iostream>
2 #include <string>
3
4 using namespace std;
5
6 class A{
7 public:
8 //A(){} //瀵逛簬VC2005鍜孏CC鏉ヨ錛屽彧鏈夋彁渚涙瀯閫犲嚱鏁幫紝緙栬瘧鍣ㄦ墠浼氭嫻嬪嚭閿欒
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錛岃煩榪囦簡fsd鐨勫垵濮嬪寲錛岀▼搴忚繍琛岀粨鏋滀笉鍙煡銆?br />杈撳叆10錛岃煩榪囦簡a鐨勫垵濮嬪寲錛岀▼搴忚繍琛岀粨鏋滃悓鏍蜂笉鍙煡銆?br />

]]>