2013-05-27 78 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已用於此處以消除有關未使用的變量的警告。一些編譯器和/或設置提供了這樣的警告。所以,在這裏宣告無效只會讓編譯器關於可能的警告消失。