在不同的function中使用Gotofunction

如何在不同的函数中使用goto函数。例如,

main() { .... REACH: ...... } void function() { goto REACH ; } 

如何实现这样的用法?

你不能在标准C; 标签是单个function的本地标签。

最接近的标准等价物是setjmp()longjmp()函数对。

GCC 扩展了更普遍的标签支持。

你不能在标准C ++中。 从$ 6.6.4 / 1的C ++语言标准

goto语句无条件地将控制转移到标识符标记的语句。 标识符应为位于当前函数中的标签(6.1)。

……或标准C.从C语言标准的6.8.6.1 / 1起

goto语句中的标识符应命名位于封闭函数中某处的标签。 goto语句不应从具有可变修改类型的标识符范围之外跳转到该标识符的范围内。

对于gcc:

 #include  void func(void* target){ std::cout << "func" < 

请注意,这可能是未定义的行为