2013-05-27 44 views
1

在C++中,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是什么?

回答

0

它似乎铸造为void已用于此处以消除有关未使用的变量的警告。一些编译器和/或设置提供了这样的警告。所以,在这里宣告无效只会让编译器关于可能的警告消失。