ExpertiDict

C++ · Intermediário · Português · Técnico

função deletada

fũˈsɐ̃w̃ deleˈtadɐsubstantivo

Função declarada com = delete, que não pode ser chamada. Qualquer uso gera erro de compilação, e serve para proibir cópias ou conversões indesejadas.

Onde usar

Usada para tornar classes não copiáveis, apagando o construtor de cópia, e para bloquear sobrecargas perigosas. O compilador aponta o uso de uma função deletada no ponto da chamada.

Em código

struct Socket {
  Socket() = default;
  Socket(const Socket&) = delete;
  Socket& operator=(const Socket&) = delete;
};
// Socket b = a;  // erro: cópia deletada

Exemplos

Apague a cópia com = delete para a classe não ser copiável.

Deletei a sobrecarga que aceita double para evitar conversões.

Cuidado

A função deletada ainda participa da resolução de sobrecarga; por isso o erro aparece quando ela é a melhor escolha.

Sinônimos

função apagada

Antônimos

função default

Veja também

Todos os termos de C++