警告:取标签的地址是非标准的

时间:2014-09-11 23:32:49

标签: c++ g++ goto

有人可以解释以下代码如何创建标签吗?

char memory[] = "hello";
&&memory[0];

error: label 'memory' used but not defined

1 个答案:

答案 0 :(得分:6)

&&memory[0];

这不是有效的C ++,因此符合标准的扩展可以分配任何人们想要的语义。

恰巧,&&label是GNU人员#39;获取计算goto的标签地址的方法,GNU扩展。

那就是它。

参考:https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html