Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro com a constante -INF

Classe Avaliador

  class Avaliador {
    public $maiorLance = -INF;
    public $menorLance = INF;

    public function avalia(Leilao $leilao){

      foreach ($leilao->getLances() as $lance) {
        if($lance->getValor() > $this->maiorLance){

          $this->maiorLance = $lance->getValor();

        } else if($lance->getValor() < $this->menorLance){

          $this->menorLance = $lance->getValor();

        }
      }

    }

    public function getMaiorLance(){
      return $this->maiorLance;
    }
    public function getMenorLance(){
      return $this->menorLance;
    }

  }

Index

  error_reporting(E_ALL);
  ini_set('display_errors', 1);

  require_once "Autoload.php";

  $leilao = new Leilao("PS4");

  $renan = new Usuario("Renan");
  $caio = new Usuario("Caio");
  $felipe = new Usuario("Felipe");

  $leilao->propoe(new Lance($renan, 400));
  $leilao->propoe(new Lance($caio, 350));
  $leilao->propoe(new Lance($felipe, 250));

  $leiloeiro = new Avaliador();
  //$leiloeiro->Avalia($leilao);

  //var_dump($leiloeiro->getMaiorLance());
  //var_dump($leiloeiro->getMenorLance());

Erro: Fatal error: Unsupported operand types in /home/apache/testes/alexandro/TDD-PHP/Avaliador.php on line 3

Esse erro referece a -INF. Ele não aceita essa constante negativa. Existe outra forma de representar um numero infinito negativo a nao ser $variavel = -9999999999999999999999999999999999999999999999999999999999999999999999999; ?

1 resposta
solução!

Oi Nélio, tudo bom?

Estranho ele dar erro, na própria documentação da linguagem existem exemplos de uso do -INF. De qualquer forma, já tentou alguma manobragem tipo multiplicar por -1? algo como -1 * INF.

Para fins do curso, você pode colocar -999999... Que já vai dar conta =)

Abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software