虚空的这种用途是什么?

时间:2013-05-27 16:43:20

标签: type-conversion void void-pointers

在C ++中,void用于指定没有返回值的函数。然后有 void指针,它可用于指向几乎任何变量,无论类型如何。还有 cast to void ,如果你想抑制未使用的函数返回值的警告,它可能会派上用场。

但是,除了上面提到的所有这些用法之外,似乎还有void - 关键字的用例,我不知道。此用例存在于以下代码中(出现在Mesa GL源代码中):

class count_block_size : public program_resource_visitor {
public:
   count_block_size() : num_active_uniforms(0)
   {
      /* empty */
   }

   unsigned num_active_uniforms;

private:
   virtual void visit_field(const glsl_type *type, const char *name,
                            bool row_major)
   {
      (void) type;
      (void) name;
      (void) row_major;
      this->num_active_uniforms++;
   }
};

在这段代码的末尾附近使用void会让我感到困惑。用于此处的括号中的void是什么?

1 个答案:

答案 0 :(得分:0)

此处似乎已使用void转换来消除有关未使用变量的警告。某些编译器和/或设置提供此类警告。因此,在这里转换为无效只会使编译器对可能的警告产生沉默。