函数参数用作语句

时间:2017-10-29 09:44:17

标签: c

我看到了一段特定的代码

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;
} 

这个功能在做什么?函数参数如何用作语句

1 个答案:

答案 0 :(得分:1)

这些陈述没有实际效果。 (void)variable这只是一种避免抱怨编译器中未使用的变量的方法。转换为void这是一种以无害方式引用变量的方式,即不会产生任何副作用并仍然使警告静音。 请注意,某些编译器可能会将变量未使用警告静音并引发未使用值警告,因为该值已被引用但未使用。

我看到人们也使用像variable1=variable1这样的自我分配。

另外请注意,为了使特定变量的未使用的变量警告静音,并且您正在使用gccclang,您可以使用{{1来修饰函数参数如下例所示:

__attribute__((unused))