【发布时间】:2021-07-29 02:16:48
【问题描述】:
我正在处理项目中的编译器警告,试图清理代码,一个令我困惑的警告/错误是以下代码的unused-label 警告。
STATE(initialize)
它表示“初始化”标签已定义但未使用。 STATE 是一个#define 宏,如下:
#define STATE(x) x: __TRACE__("enter", #x);
而__TRACE__宏如下:
#define __TRACE__(y,x) dbg.printf(DebugIO::debug2,"FSM:" y "(" x ")\n");
请注意,我没有编写此代码,只是在完成一个项目,试图尽可能多地纠正警告。但据我所知,initialize 标签被传递给__TRACE__,它被用作printf() 调用的参数。
那么,为什么不使用它呢?编译器是否不会查看预处理器指令以了解变量的使用情况?
我该如何纠正这个问题?
【问题讨论】:
标签: c++