Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
'identificador': nenhum construtor de cópia disponível ou construtor de cópia declarado como 'explicit'
Observações
Um construtor de cópia inicializa um objeto a partir de outro objeto do mesmo tipo. (Faz uma cópia do objeto.) O compilador gerará um construtor de cópia padrão se você não definir nenhum construtor.
Para corrigir esse erro
O problema pode ocorrer quando é feita uma tentativa de copiar uma classe cujo construtor de cópia é
private. Na maioria dos casos, uma classe que tem um construtor de cópiaprivatenão deve ser copiada. Uma técnica de programação comum declara um construtor de cópiaprivatepara evitar o uso direto de uma classe. A classe pode ser inútil isoladamente ou exigir outra classe para funcionar corretamente.Se você determinar que é seguro usar uma classe que tem um construtor de cópia
private, derive uma nova classe da classe que tem o construtorprivatee torne um construtor de cópiapublicou deprotecteddisponível na nova classe. Use a classe derivada em vez da original.O problema pode ocorrer quando é feita uma tentativa de copiar uma classe cujo construtor de cópia é explícito. Declarar um construtor de cópia como
explicitevita passar/retornar objetos de uma classe para/de funções. Para obter mais informações sobre construtores explícitos, confira Conversões de tipo definidas pelo usuário.O problema pode ocorrer quando é feita uma tentativa de copiar uma instância da classe declarada como
constusando um construtor de cópia que não usa um parâmetro de referênciaconst. Declare o construtor de cópia com uma referência de tipoconstem vez de uma referência de tipo não const.