1

在 C++ 中,void用于指定没有返回值的函数。然后是void 指针,它可以用来指向几乎任何变量,不管是什么类型。如果您想抑制未使用函数返回值的警告,也可以强制转换为 void ,这可能会派上用场。

然而,除了上面提到的所有这些用途之外,似乎还有一个void我不知道的 -keyword 用例。此用例存在于以下代码中(出现在 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括号中的内容是什么?

4

1 回答 1

0

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

于 2013-07-21T10:32:15.043 回答