我只是在浏览一个项目并找到了这个
//This is in a .cpp file
#if xxx == 5
(void)var;
#endif
这(void)var
做了什么?这样做有什么意义。
我听说这与compilation
有关。
添加c和cpp标签这很常见。
答案 0 :(得分:7)
(void)var;
这句话实际上没有任何效果。但有助于沉默编译器。
主要是为了避免未使用的变量警告。
回复@ vonbrand的评论。以下是有用的情况。
例如在gcc中,当makefile中默认使用编译选项-Werror
时,可能不希望修改整个项目。此外,它完全无害
可移植到任何变量(void)var;
。所以我不明白为什么在某些情况下帮助程序员生活更容易是一个坏主意。
因此,并不总是希望摆脱未使用的变量。这样做在以后需要时需要更多的工作。
答案 1 :(得分:3)
完成转换为void以避免编译器对未使用的变量发出警告。
这也可以使用编译器的标志在全局级别完成:-Wno-unused-variable。