void (C++)

関数の戻り値の型として void キーワードを使用した場合は、関数が値を返さないことを示します。 関数のパラメーター リストで void を使用した場合は、関数がパラメーターを受け取らないことを示します。 ポインターの宣言で void を使用した場合は、ポインターが "汎用" であることを示します。

ポインターの型が void* の場合、そのポインターでは、const または volatile キーワードを使って宣言されていない任意の変数を指し示すことができます。 void* ポインターは、別の型にキャストしない限り、逆参照できません。 void* ポインターは、他の型のデータ ポインターに変換できます。

C++ では、void ポインターは free 関数 (クラスのメンバーではない関数)、または静的メンバー関数を指し示すことができますが、非静的メンバー関数を指し示すことはできません。

void 型の変数を宣言することはできません。

スタイルの問題として、C++ コア ガイドラインでは、空の仮パラメーター リストを指定するために使用 void しないことをお勧めします。 詳細については、「 C++ Core Guidelines NL.25: Don't use void as an argument type」を参照してください

// void.cpp

void return_nothing()
{
   // A void function can have a return with no argument,
   // or no return statement.
}

void vobject;   // C2182
void *pv;   // okay
int *pint; int i;
int main()
{
   pv = &i;
   // Cast is optional in C, required in C++
   pint = (int *)pv;
}

関連項目

キーワード
組み込みの型