我看到了一段特定的代码
Int SensorxyzOpen(SensorHandle *handle_ptr,
struct SensorCallback *client_callback_ptr,
BOOL testcalibrated,
void *contextptr)
{
(void)handle_ptr;
(void)client_callback_ptr;
(void)testcalibrated;
(void)contextptr;
return ERROR_NOT_SUPPORTED;
}
这个功能在做什么?函数参数如何用作语句
答案 0 :(得分:1)
这些陈述没有实际效果。
(void)variable
这只是一种避免抱怨编译器中未使用的变量的方法。转换为void
这是一种以无害方式引用变量的方式,即不会产生任何副作用并仍然使警告静音。
请注意,某些编译器可能会将变量未使用警告静音并引发未使用值警告,因为该值已被引用但未使用。
我看到人们也使用像variable1=variable1
这样的自我分配。
另外请注意,为了使特定变量的未使用的变量警告静音,并且您正在使用gcc
或clang
,您可以使用{{1来修饰函数参数如下例所示:
__attribute__((unused))