下面的函数已经将变量声明作为uint8_t。但是为什么在函数内部我们需要用不同的方式来声明呢?为什么我们需要在通过原型后将变量设置为void?
bool cli_cdc_enable(uint8_t port)
{
(void) port;
cdc_connected = true;
return true;
}
下面的函数已经将变量声明作为uint8_t。但是为什么在函数内部我们需要用不同的方式来声明呢?为什么我们需要在通过原型后将变量设置为void?
bool cli_cdc_enable(uint8_t port)
{
(void) port;
cdc_connected = true;
return true;
}
没有必要。这种情况通常是为了向编译器警告和lint工具指出变量是故意未使用的。它对函数的功能没有任何影响。
我在想什么可以是这个用例。如果它不是必需的,为什么我们将它传递给函数。 –
@GauravSehgal:可能是因为这个函数被用作回调的地方。 – user2357112
你不需要重新声明它。在无效的情况下使用括号,你实际上将它强制转换为void,然后不使用它。这甚至编译? –
这样做是为了抑制任何抱怨变量'port'未被使用的编译器警告。 – CinCout