iOS-C++ goto的坑

當(dāng)把OC的.m文件改為C++的.mm之后報錯:Cannot jump from this goto statement to its label

bool goto_test(void){
    
    printf("do some work\n");
    goto failed;
    int count = 10;
    return true;
    
failed:
    {printf("i am failed\n");return false;}
}

原因是:goto failed;和failed:中間不能聲明變量。注釋掉int count = 10;即可build成功。但注釋掉影響很多業(yè)務(wù)邏輯。采用把goto failed放在最前面的方法,但這時printf("do some work\n");永遠(yuǎn)不會執(zhí)行,已經(jīng)return了。
最后方案:刪掉goto,改為方法調(diào)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容