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 に答える