Mudei o método getPrice(), inseri usando CopyClose() Estou usando CopyBuffer(). Isto não muda o objetivo principal.
Portanto, se eu usar a palavra-chave "const" no método getPrice(), um erro getPrice(): "'CopyBuffer' - nenhuma das sobrecargas pode ser aplicada à chamada de função". Acho que isto ocorre porque CopyBuffer não é um método const, e não é possível chamar o método non const dentro de um método const.
Você pode deixar esteObjeto e substituí-lo por "isto" na comparação.
Mas, por que você não usa a funcionalidade "operador" em vez de uma função "Comparar"? Torna o código mais fácil de ler mais tarde.
Porque é um método polimórfico da classe base CObject e tem que ser substituído para implementar a classificação e a busca nas classes Collection, CArrayObj e CList.
Aparentemente, eu resolvi o problema usando o operador "&" na função Comparar() para obter o valor de "isto":
Finalmente consegui o valor que estava esperando.
Não tenho certeza do que você espera alcançar com esta lógica. Normalmente, você só gostaria de comparar os mesmos elementos para classificar e pesquisar.
Não tenho certeza do que você espera alcançar com esta lógica. Normalmente, você só gostaria de comparar os mesmos elementos para classificar e pesquisar.
Exatamente, agora é a classificação, antes que eu não pudesse fazer a comparação, eu estava recebendo erros e erros e erros. Agora está funcionando.
Esta abordagem não é óbvia e não está em nenhum documento, eu tive que fazer muitos testes e "tentativas e erros" até conseguir isto. Espero que outros possam aproveitar a solução.
Exatamente, agora está ordenando, antes que eu não pudesse fazer a comparação, eu estava recebendo erros e erros e erros. Agora está funcionando.
Esta abordagem não é óbvia e não está em nenhum documento, eu tive que fazer muitos testes e "tentativas e erros" até conseguir isto. Espero que outros possam aproveitar a solução.
Estou apenas curioso por que você precisou do operador "&" nafunção Comparar() para obter o valor de "isto".
Bem, isso não responde à pergunta "por que". Não havia motivo para revelar o ponteiro a si mesmo.
Não, definitivamente não neste exemplo, pois é uma extração redundante, mas digamos que você estava passando isto para um método que só aceitava um ponteiro, então você precisaria usá-lo... método(&isto)
Oi @Alain Verleyen,
Mudei o método getPrice(), inseri usando CopyClose() Estou usando CopyBuffer(). Isto não muda o objetivo principal.
Portanto, se eu usar a palavra-chave "const" no método getPrice(), um erro getPrice(): "'CopyBuffer' - nenhuma das sobrecargas pode ser aplicada à chamada de função". Acho que isto ocorre porque CopyBuffer não é um método const, e não é possível chamar o método non const dentro de um método const.
Aparentemente, eu resolvi o problema usando o operador "&" na função Comparar() para obter o valor de "isto":
Finalmente consegui o valor que estava esperando.
Você pode deixar esteObjeto e substituí-lo por "isto" na comparação.
Mas, por que você não usa a funcionalidade "operador" em vez de uma função "Comparar"? Torna o código mais fácil de ler mais tarde.
Você pode deixar esteObjeto e substituí-lo por "isto" na comparação.
Mas, por que você não usa a funcionalidade "operador" em vez de uma função "Comparar"? Torna o código mais fácil de ler mais tarde.
Porque é um método polimórfico da classe base CObject e tem que ser substituído para implementar a classificação e a busca nas classes Collection, CArrayObj e CList.
Aparentemente, eu resolvi o problema usando o operador "&" na função Comparar() para obter o valor de "isto":
Finalmente consegui o valor que estava esperando.
Não tenho certeza do que você espera alcançar com esta lógica. Normalmente, você só gostaria de comparar os mesmos elementos para classificar e pesquisar.
Não tenho certeza do que você espera alcançar com esta lógica. Normalmente, você só gostaria de comparar os mesmos elementos para classificar e pesquisar.
Exatamente, agora é a classificação, antes que eu não pudesse fazer a comparação, eu estava recebendo erros e erros e erros. Agora está funcionando.
Esta abordagem não é óbvia e não está em nenhum documento, eu tive que fazer muitos testes e "tentativas e erros" até conseguir isto. Espero que outros possam aproveitar a solução.
Exatamente, agora está ordenando, antes que eu não pudesse fazer a comparação, eu estava recebendo erros e erros e erros. Agora está funcionando.
Esta abordagem não é óbvia e não está em nenhum documento, eu tive que fazer muitos testes e "tentativas e erros" até conseguir isto. Espero que outros possam aproveitar a solução.
Estou apenas curioso por que você precisou do operador "&" nafunção Comparar() para obter o valor de "isto".
Estou apenas curioso por que você precisava do operador "&" nafunção Comparar() para obter o valor de "isto".
É o equivalente a usar o GetPointer(isto)
Bem, isso não responde à pergunta "por que". Não havia motivo para revelar o ponteiro a si mesmo.
Bem, isso não responde à pergunta "por que". Não havia motivo para revelar o ponteiro a si mesmo.