用作函数返回类型时,
void
关键字指定函数不返回值。 当用于函数的参数列表时,
void
将指定函数不采用任何参数。 用于指针声明时,
void
指定该指针为“通用”。
如果指针类型为
void*
,则该指针可以指向任何未使用
const
或
volatile
关键字声明的变量。
void*
指针不能取消引用,除非它被强制转换为另一种类型。
void*
指针可以转换为任何其他类型的数据指针。
在 C++ 中,
void
指针可以指向 free 函数(不是类成员的函数)或静态成员函数,但不能指向非静态成员函数。
无法声明
void
类型变量。
作为样式问题,C++ 核心准则建议不要使用
void
指定空的正式参数列表。 有关详细信息,请参阅
C++ Core Guidelines NL.25:请勿用作
void
参数类型
。
// 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;