C++遇到的一些编译错误总结

1.Cannot jump from switch statement to this case label

出现原因:在switch语句中,case下不可声明变量,否则出现如上错误

解决方法:在switch语句外声明变量,删除case内声明变量语句

 

2.Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)

出现原因:在录入群组信息时,有一行空行(\n),未经处理存入了群组类,导致群组内容更新后Group_QQ_info.size()比有效信息的size()大1,存储时读取不到Group_QQ_info中成员信息(vector<long long>),引发错误

解决方法:在录入群组信息时,添加一条无效信息判断语句:

if(str.size()<10)
    continue;

即可排除无效信息行

 

3.Cannot jump from switch statement to this case label

出现原因:在网上查询后,发现使用 switch 语句时,当在 case 中,需要完成给变量赋值等操作时,块定义会创建一个新的作用域,这似乎会干扰编译器正确解释switch语句的能力。(来源:https://stackoverflow.com/questions/42750044/ios-cannot-jump-from-switch-statement-to-this-case-label)

解决方法:如下:

switch(option){
    case 0:
    {
        // Code
        break;
    }
    case 2:
    {
        // Code
        break;
    }
    deflaut:
    {
        // Code
        break;
    }
}

 

4.Thread 1: EXC_BAD_ACCESS (code=2, address=0x103180000)

出现原因:函数应操作Admin容器,但内部参数复制时未改动(仍然用Member容器的参数[size()等])导致访问出错

解决方法:改正函数内参数

 

5.Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)【第二次出现】

出现原因:同第四个错误,复制时有部分参数未修改,导致访问出错

解决方法:改正程序内参数

点赞

发表评论