易错点:C++ switch case中定义变量

不止一次遇到,特此记下,以防再望


下面的代码会报错

int i=0;
	switch(i)
	{
	case 1:
		int j=1;
		break;
	case 2:
		i++;
		break;
	default:
		break;
	}

Error 1 error C2360: initialization of 'j' is skipped by 'case' label d:\programing\windows\basicwindows\varable_list_test\varable_list_test.cpp 55

Error 2 error C2361: initialization of 'j' is skipped by 'default' label d:\programing\windows\basicwindows\varable_list_test\varable_list_test.cpp 58


修改为:

	int i=0;
	switch(i)
	{
	case 1:
		{
			int j=1;
		}
		break;
	case 2:
		i++;
		break;
	default:
		break;
	}



你可能感兴趣的:(易错点:C++ switch case中定义变量)