Como você elimina a const'ness quando a função faz uma referência ao objeto (e acessa métodos não-const
Tenho uma cópia de segurança dos dados que gostaria de proteger, então fiz issoconst
. Eu preciso violar issoconst
ness em duas ocasiões, uma vez para armazenar dados virgens nele:
fgBlocks.CopyInto((BlkArray&)backUpCopy);
w.r.t.
result CopyInto(BlkArray &replica) const {/**/}
e novamente quando ligo paraRemoveAll()
nele, que é um método não-const:
((BlkArray)backUpCopy).RemoveAll(true);
É o primeiro elenco (mostrado acima,(BlkArray&)
) correto? É o único aspecto do indireto para o qual não lancei antes. Mais uma vez, adicionarei outro aspecto não utilizado, o de rejeitarconst
ness por chamar os métodos de um objeto, que o compilador não está aceitando como mostrado acim
Os membros são declarados assim:
BlkArray fgBlocks;
const BlkArray backUpCopy;
Estou tentando estender a solução de Correa par
BlkArray *pBUCopy = (BlkArray *)&backUpCopy;
fgBlocks.CopyInto(*pBUCopy);
O único problema agora é que o compilador está falhando devido a
uninitialized member 'MyClass :: backUpCopy' com 'const' tipo 'const BlockArray'