2017-08-24 46 views
0

下面的函数已经将变量声明作为uint8_t。但是为什么在函数内部我们需要用不同的方式来声明呢?为什么我们需要在通过原型后将变量设置为void?

bool cli_cdc_enable(uint8_t port) 
{ 
    (void) port; 

    cdc_connected = true; 
    return true; 
} 
+0

你不需要重新声明它。在无效的情况下使用括号,你实际上将它强制转换为void,然后不使用它。这甚至编译? –

+0

这样做是为了抑制任何抱怨变量'port'未被使用的编译器警告。 – CinCout

回答

0

没有必要。这种情况通常是为了向编译器警告和lint工具指出变量是故意未使用的。它对函数的功能没有任何影响。

+0

我在想什么可以是这个用例。如果它不是必需的,为什么我们将它传递给函数。 –

+1

@GauravSehgal:可能是因为这个函数被用作回调的地方。 – user2357112

相关问题