C++ · Intermediário · Português · Técnico
função deletada
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 deletadaExemplos
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