这个无效指针发生了什么?

And*_*rew 3 c void-pointers

这是Make Controller固件中的一些C代码.我熟悉void指针是什么,但我从来没有见过像这个函数的第一行那样的语法.究竟是通过那种方式实现的?

void MakeStarterTask(void* parameters)
{
  (void)parameters;
  Run();
  TaskDelete(NULL);
}
Run Code Online (Sandbox Code Playgroud)

GMa*_*ckG 5

它"使用",parameters因此编译器不会发出有关未使用参数的警告,但表达式本身没有任何内容.可以转换任何表达式void,这会丢弃结果.

(请记住,仍然会对表达式进行求值; 使表达式完全被忽略是比较棘手的.)