请解释以下演员表的含义

发布于 2024-12-16 17:50:17 字数 353 浏览 2 评论 0原文

可能的重复:
void 的奇怪使用

我正在阅读 C 代码并遇到以下内容。有人可以解释一下这是做什么的吗?

static int do_spawn(const char *filename)
{
  (void)filename;
  // todo: fill this in
  return -1;
}

具体来说,(void)文件名在做什么?

Possible Duplicate:
Weird use of void

I was reading C code and came across the following. Can somebody please explain what this does?

static int do_spawn(const char *filename)
{
  (void)filename;
  // todo: fill this in
  return -1;
}

Specifically, what is the (void) filename doing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过度放纵 2024-12-23 17:50:17

编译器有时会抱怨未使用的参数; (void) “cast”只是一种在 void、无副作用的上下文中使用变量的方法,这样编译器就不会抱怨它“未使用”。

编辑:正如罗德里戈在下面指出的那样,可以在没有 (void) 前缀的情况下抑制编译器警告,但随后可能会出现另一个警告(关于表达式无效) 。因此 (void)filename 是防止这两个警告的方法。

Compilers sometimes complain about unused parameters; the (void) "cast" is simply a way to use the variable in a void, non-side-effect context so that the compiler won't complain about it being "unused".

EDIT: As rodrigo points out below, the compiler warning can be suppressed without the (void) prefix, but then another warning (about the expression having no effect) may appear instead. So (void)filename is how you might prevent both warnings.

天邊彩虹 2024-12-23 17:50:17

它只是防止有关未使用参数的警告,仅此而已。

It's preventing a warning about an unused parameter, nothing more.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文