crosses initialization of
来源:互联网 发布:淘宝介入怎么操作 编辑:程序博客网 时间:2024/06/06 15:47
./DBOperator.cpp:87: error: jump to case label
./DBOperator.cpp:84: error: crosses initialization of 'std::string str_timebuf'
./DBOperator.cpp:81: error: crosses initialization of 'char timebuf [128]'
今天,遇到一个问题,总是出现上面的错误,但仔细检查也没有发现什么语法错误,最后从网上找到如下材料:
可能你编译下面的代码会报错:
int main()
{
int i;
switch (i)
{
case 3:
int y = 0;
break;
default:
break;
}
}
g++ 编译:
main.cpp: In function `int main()':
main.cpp:11: jump to case label
main.cpp:9: crosses initialization of `int y'
用 gcc 编译:
error: syntax error before "int"
改成这样:
int main()
{
int i;
switch (i)
{
case 3:
int y ;
y = 0;
break;
default:
break;
}
}
gcc 还是没法通过编译。
把 case 部分用 {} 括起来,则都可以通过编译。
这大概是因为:
有这种限制,如果你定义一个变量,并且在后面还要使用它, 那么它的定义部分不能被条件跳过。
加了花括号就生成了一个新的block,当然可以通过了。
但是为什么第二种情况可以在 g++ 中编译过去呢?
0 0
- crosses initialization of “XXX”
- error: crosses initialization of
- crosses initialization of
- crosses initialization of “XXX”
- 解决问题crosses initialization of char
- gcc/g++ error: crosses initialization of
- gcc error: crosses initialization of XXX
- error:crosses initialization of ...的解决办法
- 两次碰到编译错误: crosses initialization of...
- 关于crosses initialization of “XXX的问题
- error:crosses initialization of ...的解决办法
- 关于Symbian的"crosses initialization of XXX"错误
- error: jump to case label error: crosses initialization of xxx
- error:jump to case label error:crosses initialization of
- error: jump to case label,crosses initialization of "xxxxxx"
- error:jump to case label error:crosses initialization of ' '
- error: jump to case label \n error: crosses initialization of xxx
- [C/C++] error: jump to case label, error: crosses initialization of ‘int a’
- 【图说word】宏二
- 二维数组中的查找
- 实现购物车多物品数量 总价计算
- sql 内连接和外链接
- NYOJ 题目587 blockhouses(二分图最大匹配)
- crosses initialization of
- iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager(三)
- java 向网络post数据
- WIN7/8 下Fedora双系统的安装
- 《unix网络编程》(15)poll函数以及使用poll的客户服务器程序
- 栈--链表实现
- 练习1
- Git 与TortoiseGit 的安装设置
- 实时分析网站UV与Flajolet-Martin算法