相关疑难解决方法(0)

如何在C中抑制"未使用的参数"警告?

例如:

Bool NullFunc(const struct timespec *when, const char *who)
{
   return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

在C++中,我能够对/*...*/参数进行评论.但当然不是在C中,它给了我错误error: parameter name omitted.

c gcc gcc-warning

195
推荐指数
10
解决办法
15万
查看次数

(void)var实际上做了什么?

请考虑以下事项main():

int main(int argc, char *argv[])
{
    return (0);
}
Run Code Online (Sandbox Code Playgroud)

在编译时cc -Wall -Wextra,会生成警告"未使用的参数".

当我不需要在函数中使用参数时(例如在不使用其参数的信号处理函数int),我习惯于执行以下操作:

  int main(int argc, char *argv[])
  {
      (void)argc;
      (void)argv;
      return (0);
  }
Run Code Online (Sandbox Code Playgroud)

(对于特定的main(),我有时看到别人做的:argv = argv - argc + argc)

但是,是什么(void)var真正

我明白这(void)是一个演员,所以我想我正在抛弃变量?什么是var;线(不投)呢?这是一个空任务,一个空表达式?

我想了解实际发生了什么.

c void c89

15
推荐指数
2
解决办法
4669
查看次数

标签 统计

c ×2

c89 ×1

gcc ×1

gcc-warning ×1

void ×1