在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
是什么?
答案 0 :(得分:0)
此处似乎已使用void
转换来消除有关未使用变量的警告。某些编译器和/或设置提供此类警告。因此,在这里转换为无效只会使编译器对可能的警告产生沉默。