`(void)varName;`是做什么的? [重复]

问题描述 投票:0回答:3

可能重复: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进行构建。

c++ syntax
3个回答
9
投票

它防止未使用的变量警告。可以将宏gdcmErrorMacro() d设置为空宏,并且在这种情况下将不引用#define


3
投票

这可防止在函数中未使用函数的形式参数时发出编译器警告。


2
投票

该函数未使用参数void error_callback(const char *, void *) { } ,编译器将抱怨(警告)未使用的参数。

© www.soinside.com 2019 - 2024. All rights reserved.