可能重复:
将未使用的返回值转换为void
我读了一些源代码,并在其中声明了接口类中的许多虚函数,并默认实现如下:
virtual bool FunctionName(TypeName* pointer)
{
(void)pointer;
return true;
}
Run Code Online (Sandbox Code Playgroud)
请问在默认实现中将指针转换为void的目的是什么?
Joh*_*itb 18
多种用途取决于您的演员
T,并且您返回某些函数调用的结果,这可能与T某些情况不同.T在这种void情况下,显式强制转换可以防止编译时错误:int f() { return 0; } void g() { return (void)f(); }(void)a, b永远不会调用重载的逗号运算符函数).请注意,operator void()如果您将类对象void强制转换为(某些GCC版本忽略该规则),则标准保证永远不会有被调用.