Ir para conteúdo
Fórum Script Brasil

renamed

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre renamed

renamed's Achievements

0

Reputação

  1. Oi Utilize equals quando você for comparar a resposta obtida, dessa forma: if (escolha.equals("Sim")) { Ou ainda, utilize equalsIgnoreCase para o programa aceitar "Sim", "sim", "sIm" etc if (escolha.equalsIgnoreCase("Sim")) { Abs
  2. renamed

    Dúvida templates

    Oi pessoal Eu programo em Java há algum tempo e resolvi aprender C++. Meu maior problema é que tento fazer as coisas em C++ da forma com que eu fazia em Java, e isso nem sempre é uma boa escolha. Para treinar, estou criando uma lista encadeada em C++ (usando templates). Em um dado momento, fui criar o método remover, veja abaixo: No início do código coloquei #define null 0 Mais lá pro final, cheguei a esse impasse: int getIndice(T alvo) { Elemento *atual; atual = primeiro; int i = 0; while (atual != null) { if (atual->elem == alvo) { return i; } i++; atual = atual->proximo; } return -1; } T removerInicio(T elemento) { int indice = getIndice(elemento); if (indice == -1) { return null; } return removerInicio(indice); } T removerInicio(int indice) { if (ehVazia()) { } } O problema é que em Java tudo é pointeiro, então no método removerInicio(T elemento), caso o índice do elemento fosse -1 (não existe), ele deveria retornar null. Isso em C++ não funciona, pois não necessariamente essa lista encadeada será de ponteiros. Esse problema (ter uma lista encadeada tanto de ponteiros quanto de não-ponteiros) me deixou sem solução. Será que alguém teria alguma ideia para me ajudar a resolver esse impasse? Tipo o que retornar ou que modificações eu deveria fazer? Eu não gostaria de obrigar que minha lista só aceitasse ponteiros. Muito obrigado.
×
×
  • Criar Novo...