在移植一个项目代码从c 转换到 C++时,
有一个if ...else if 分支很多代码块, C编译器可以过, C++编译器不能够, 好像分支是超过200多时, 就不能编译过去了。
网上也有一些方法,比如:
把每个分支封装成一个函数, 当前一个分支执行完后调用另一个函数。
但这样少的话,可以, 太多的话, 工作量也很大。
我是这样做的,
在每个else if 分支块的末尾,添加go to 语句,跳出这个if else if ...代码块, , 在我这个项目中,因为if ... else if .. 外层是一个while循环,所以我直接加了一个continue。
正好可以解决这个问题,也符合原来的逻辑。