C++ goto 编译出错问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kunyXu/article/details/78864434

C++ goto 编译出错问题

今天编译解码程序的时候,报如下错误:

error: jump to label ‘discard_packet’ [-fpermissive]   ×××××××  goto discard_packet;   ××××××××   crosses initialization of ‘cv::Mat ppp’

这是因为goto语句的问题,在linux C++里使用goto语句有时候会出现这个问题(反正我是偶尔碰到这个问题,有时候没问题,有时候出错)
出现这个问题是因为在 goto 语句之后有新定义的变量:cv::Mat ppp;, 要避免这个问题,则需要将定义放在goto语句之前,如

cv::Mat img;
goto:
img = ........

猜你喜欢

转载自blog.csdn.net/kunyXu/article/details/78864434