Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro com as funções

Quando tento executar as funções dá o seguinte erro: Undefined variable: saldo

Alguém sabe informar o porquê?

5 respostas

Carolina, pode compartilhar seu código?

O erro diz que uma variável chamada saldo não existe.

Eu fiz exatamente como no curso e mesmo assim não funciona.Eu consigo criar a conta normalmente, mas quando tento chamar qq função não funciona. Eu to usando o php 7.4.3

Os passos que estou fazendo são: php > $primeiraConta = new Conta(); php > var_dump($primeiraConta); object(Conta)#1 (1) { ["cpf"]=> uninitialized(string) ["nome"]=> uninitialized(string) ["saldo"]=> float(0) } php > $primeiraConta->depositar(100); PHP Notice: Undefined variable: saldo in /var/www/html/aprendendo-php/Conta.php on line 39 PHP Notice: Undefined property: Conta::$ in /var/www/html/aprendendo-php/Conta.php on line 39

============================================ class Conta { public string $cpf; //atributos public string $nome; public float $saldo = 0;

    public function sacar(float $valorSacar): void {
        if($valorSacar > $this->$saldo){
            echo "Você não pode sacar";
            return;
        } 

        $this -> $saldo -= $valorSacar;
    }

    public function depositar(float $valorDepositar) : void {
        if($valorDepositar < 0){
            echo "Depósito deve ser valor positivo";
            return;
        } 

        $this -> $saldo += $valorDepositar;
    }

    public function transferir(float $valorATransferir, Conta $contaDestino): void
    {
    if ($valorATransferir > $this->saldo) {
        echo "Saldo indisponível";
        return;
        }

    $this->sacar($valorATransferir);
    $contaDestino->depositar($valorATransferir);
    }

}

solução!

Carolina, não é $this -> $saldo . É $this->saldo. Para acessar propriedades nós não utilizamos o $.

Funcionooouuu!!! Muito obrigada Vinicius! Desculpa eu ter me passado nisso. Aproveitando o espaço, você é um ótimo professor. Todos os cursos que você administra são maravilhosos. Parabéns!

Não precisa se desculpar, Carolina. É mais do que normal. :-D

E muito obrigado pelo feedback. Fico muito feliz que esteja gostando. :-D :-D