可能重复:casting unused return values to voidC++ What is the purpose of casting to void?
[使用CMake下载并构建GDCM代码后,我偶然发现了这一点:
void error_callback(const char *msg, void *) {
(void)msg;
gdcmErrorMacro( "Error in gdcmopenjpeg" << msg );
}
第一行是做什么的?从来没有见过那样的东西。请记住,如果有必要,我告诉CMake使用Visual Studio 2010进行构建。
它防止未使用的变量警告。可以将宏gdcmErrorMacro()
d设置为空宏,并且在这种情况下将不引用#define
。
这可防止在函数中未使用函数的形式参数时发出编译器警告。
该函数未使用参数void error_callback(const char *, void *) {
}
,编译器将抱怨(警告)未使用的参数。