void (C++)

Quando usado como um tipo de retorno da função, a palavra-chave void especifica que a função não retorna um valor. Quando usado para a lista de parâmetros de uma função, um item nulo especifica void que a função não usa parâmetros. Quando usado em declaração de um ponteiro, especifica void que o ponteiro é "universal".

Se o tipo de um ponteiro é void*, o ponteiro pode apontar para qualquer variável que não está declarado com a palavra-chave const ou volatile. Um ponteiro void* não pode ser desreferenciado a menos que seja convertido para outro tipo. Um ponteiro void* pode ser convertido em outro tipo de ponteiro de dados.

No C++, um ponteiro void pode apontar para uma função livre (uma função que não é membro de uma classe) ou para uma função de membro estático, mas não para uma função de membro não estático.

Você não pode declarar uma variável do tipo void.

Por uma questão de estilo, as Diretrizes Principais do C++ recomendam que você não use void para especificar uma lista de parâmetros formal vazia. Para obter mais informações, consulte C++ Core Guidelines NL.25: Don't use void as a argument type.

Exemplo

// 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;
}

Confira também

Palavras-chave
Tipos internos