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