case 1:
for(int j=1;j<11;j++)
vc2->;push_back(j);
break;
case 2:
for(int j=0;j<11;j++)
vc2->;push_back(j*2);
break;
....
编译出错信息:
c:\microsoft visual studio\myprojects\jd2\jd.cpp(19) : error C2360: initialization of 'j' is skipped by 'case' label
为什么啊
请教请教 重复定义吧 你定义了j两次 |
请教请教 --> 没这回事吧?C++允许局部定义的,用来做循环控制的变量一般都是随用、随时定义。编译提示是,case可能跳过j的初始化。 估计是VC的问题。前几天我还写了一个含有类似语句的程序,gcc/g++编译没问题。 |
请教请教 :shock: |
请教请教 VC 6 不能这样。 标准 C++ 是支持的。 |
请教请教
你是不是在后面又用到变量j了?
这种情况还是把j放到函数头里去定义吧。
muyilion
等级:新手上路
文章:13
积分:274
注册:2005年12月26日
下来了,可是编译时出现如下错误:
error C2360: initialization of 'i' is skipped by 'case' label
f:\xrx-exam\binarytree\main.cpp(830) : see declaration of 'i'
Error executing cl.exe.
求助!
热情依然
来自:广州市
等级:版主
威望:22
文章:691
积分:15676
注册:2005年4月5日
nqq622
等级:新手上路
文章:11
积分:136
注册:2006年1月4日
不错,我还得加油啊!
没有评论:
发表评论