社区
C++ Builder
帖子详情
奇怪,"E2126 Case bypasses initialization of a local variable"是什么意思啊?
rocsoar
2001-06-29 03:42:58
错误出现在switch与case选择的时候,case 1没错, case2和 case 3的时候就报错了,为什么呢?
...全文
1599
9
打赏
收藏
奇怪,"E2126 Case bypasses initialization of a local variable"是什么意思啊?
错误出现在switch与case选择的时候,case 1没错, case2和 case 3的时候就报错了,为什么呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
孩皮妞野
2001-06-29
打赏
举报
回复
没有这样的规定。
不过C++中对跳转语句跳过临时变量有一些限制, 具体我也不是太了解。
所以要不然你不用跳转, 要不然把它声明在 前面。
{
int i;
if(i)goto aaa;
int j=5;
aaa:
}
上面不行, 下面可以:
{
int i,j;
if(i)goto aaa;
j=5;
aaa:
}
rocsoar
2001-06-29
打赏
举报
回复
谢谢ALING和TR了,就是变量应该在switch外赋值,这是固定的规定吗?我怎么没看到过?
孩皮妞野
2001-06-29
打赏
举报
回复
改成这样,你看有没有少点什么功能:
{
AnsiString S =Edit1->Text;
if(S.IsEmpty())
{
MessageBoxA(NULL,"请输入!",NULL,MB_OK);
return;
}
AnsiString Page(WebPage.SearchPage);
AnsiString Parm=AnsiString("/")
switch(x)
{
case 1:
Parm += WebPage.SearchJsp;
break;
case 2:
Parm += WebPage.ReplaceJsp;
break;
case 3:
Parm += WebPage.ListJsp;
break;
}
ExecIE(Handle,Page.c_str());
}
//---------------------------------------------------------------------------
孩皮妞野
2001-06-29
打赏
举报
回复
改成这样,你看有没有少点什么功能:
{
AnsiString S =Edit1->Text;
if(S.IsEmpty())
{
MessageBoxA(NULL,"请输入!",NULL,MB_OK);
}
AnsiString Page(WebPage.SearchPage);
AnsiString Parm=AnsiString("/")
switch(x)
{
case 1:
Parm += WebPage.SearchJsp;
break;
case 2:
Parm += WebPage.ReplaceJsp;
break;
case 3:
Parm += WebPage.ListJsp;
break;
}
ExecIE(Handle,Page.c_str());
}
//---------------------------------------------------------------------------
rocsoar
2001-06-29
打赏
举报
回复
okok.
谢谢两位,源码如下:
int x;
void __fastcall TfrmEStock::Button1Click(TObject *Sender)
{
x=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmEStock::Button2Click(TObject *Sender)
{
x=2;
}
//---------------------------------------------------------------------------
void __fastcall TfrmEStock::Button3Click(TObject *Sender)
{
x=3;
}
//---------------------------------------------------------------------------
void __fastcall TfrmEStock::Edit1KeyDown(TObject *Sender,
WORD &Key, TShiftState Shift)
{
switch(x)
{
case 1:
AnsiString S =Edit1->Text;
if(S!= "")
{
AnsiString Page(WebPage.SearchPage);
AnsiString Parm=AnsiString("/")+AnsiString(WebPage.SearchJsp);
ExecIE(Handle,Page.c_str());
}
else
{
MessageBoxA(NULL,"请输入!",NULL,MB_OK);
}
break;
case 2:
AnsiString s =Edit1->Text;
if(s != "")
{
AnsiString Page(WebPage.SearchPage);
AnsiString Parm=AnsiString("/")+AnsiString(WebPage.ReplaceJsp);
ExecIE(Handle,Page.c_str());
}
else
{
MessageBoxA(NULL,"请输入!",NULL,MB_OK);
}
break;
case 3:
AnsiString s =Edit1->Text;
if(s != "")
{
AnsiString Page(WebPage.SearchPage);
AnsiString Parm=AnsiString("/")+AnsiString(WebPage.ListJsp);
ExecIE(Handle,Page.c_str());
}
else
{
MessageBoxA(NULL,"请输入!",NULL,MB_OK);
}
break;
}
}
TR@SOE
2001-06-29
打赏
举报
回复
你在switch...case的case处理段中试图声明只对该case段有效的变量,这是不允许的(不要问我为什么,我也不知道)。
你应该将这些变量在switch...case段之外声明。
BCB
2001-06-29
打赏
举报
回复
也遇到过
孩皮妞野
2001-06-29
打赏
举报
回复
比如:
.....
if(x) goto aaa;
int i = 5;
...
aaa:
会产生:
[C++ Error] Unit1.cpp(38): E2203 Goto bypasses initialization of a local variable
这两种错误大体相似。
孩皮妞野
2001-06-29
打赏
举报
回复
这是一个编译错误吧, 要调整一下你的代码, 你还是把:
switch(...){....}部分贴出来看一看吧。
BCB 6的问题
20080128 遇到了Linker error,解决的办法居然是把Debug方式改成Release方式,编译通过之后再改回Debug方式,再编译,然后就OK了。 20080131 [C++ Error] main.cpp(888):
E2126
Case
bypa
sse
s
initialization
of a
local
variable
原因是在switch...
case
......
Flink-SQL join 优化 -- MiniBatch +
local
-global
Flink-SQL 在多流join时,若数据过多,既会增加内存开销,也会导致container超时,checkpoint失败,因此要尽量减少参与计算数据量,优化聚合算子
脑语言2500单字v1.5.1
如果人和 AI 说同一种语言,文明会怎样?我用 2500 个单字试了试。2500个单字是不同领域、不同知识的共同体,无论你学编程或者是数学或写作,你都要用汉字,而常用的2500个汉字几乎可以涵盖不同行业做的不同事情。
AI前端场景下的大型表格性能优化实现细节
标题:AI前端场景下的大型表格性能优化实现细节 内容概要:从服务拆分、状态流转、容量评估与灰度发布出发,介绍AI前端场景下的大型表格性能优化实现细节的工程化落地方式。 le9.xilaohan.com yongshi-vs-senlinlang.jlsphdjx.com nopvsmia.hkyxjd.com krtrvs76r.hbwsjyyz.com nba.guaosi.com
利用MATLAB和AeroEngineS对飞机推进系统的热力学建模与性能分析.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章