以下代码有什么作用?

gha*_*der 5 c

static void llist_dtor(void *user, void *element)
{
  (void)user;
  (void)element;
  /* Do nothing */
}
Run Code Online (Sandbox Code Playgroud)

它是无操作功能吗?然后为什么要完成铸造?可以将NULL作为其参数之一传递吗?

Fré*_*idi 14

这确实是一个无操作.这里的强制转换(void)是为了避免使用某些编译器获得"参数从未使用过"警告(转换被优化掉,但参数仍被视为"已使用").

您可以通过,NULL因为无论如何都会忽略参数.


Oli*_*rth 4

是的,这是一个无操作函数。

强制转换是防止编译器抱怨未使用参数的常见技巧。