تو switch نمیشه متغیر تعریف کرد؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تو switch نمیشه متغیر تعریف کرد؟

0 امتیاز

سلام علیکم

من امروز اومدم توی دستور switch متغیر تعریف کردم با مشکلی مواجه شدم روی متغیر new_postion خطا میده کد زیر را ببینید:

	int position = 100;
switch (position)
{   
case 1:  
  int new_position = 200;  
  break;

case 2:  

break;
}

علتش چیه؟

سوال شده آذر 10, 1392  بوسیله ی hamze (امتیاز 33)   1 5 8

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

باید هم خطا بده ، اسکوپ تعریف اون متغییر داخل case 1 هست ، case 1 تون هم که begin و end نداره ( {} ) پس یعنی فقط همون یک خط ، خب ؟ متغییر که تو یک خط فقط میخواد تعریف بشه و جای دیگه ای نمیشه ازش استفاده کرد به چه دردی میخوره ؟!

 

int position = 100;
switch (position)
{   
case 1:  
  {
int new_position = 200;
}
break;
case 2:  

break;
}

 

 

پاسخ داده شده آذر 10, 1392 بوسیله ی Felony (امتیاز 503)   2 3 10
انتخاب شد آذر 13, 1392 بوسیله ی BlueBlade
0 امتیاز

توی switch میشه متغیر تعریف کرد ولی نمیشه مقدار اولیه داد

به این شکل هم می تونی عمل کنی :

    int a=1;
    switch(a)
    {
    case 1:
        int m;
        m=4;
        break;
    case 2:
        break;
    }

 

پاسخ داده شده اسفند 7, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...