【问题标题】:What is this use of void about?void 的用途是什么?
【发布时间】:2013-05-22 13:22:03
【问题描述】:

在 C++ 中,void 用于指定没有返回值的函数。然后是 void 指针,它可以用来指向几乎任何变量,不管是什么类型。如果您想抑制未使用函数返回值的警告,还有 casting to 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 是什么意思?

【问题讨论】:

    标签: type-conversion void void-pointers


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-05-13
      • 2013-05-14
      • 2012-12-09
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 2010-09-27
      • 2011-12-17
      • 2010-11-21
      相关资源
      最近更新 更多