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

erro "too few arguments to function Titular::construct() line 8

Boa tarde,

Estou tendo este erro aqui abaixo ao executar o arquivo banco.php (o erro está no arquivo Titular.php), linha 8. Abaixo envio um print dos arquivos Titular.php (até perto da parte que ta dando erro) e do banco.php pra ver se pode estar nele (mas parece que não).

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeTitular.php

<?php

class Titular 
{
    private CPF $cpf;
    private string $nome;

    public function __construct(CPF $cpf, string $nome)
    {

        $this->cpf = $cpf;
        $this->validaNomeTitular($nome);
        $this->nome = $nome;
    }

banco.php

<?php

require_once 'src/Conta.php';
require_once 'src/Titular.php';
require_once 'src/CPF.php';

$Vinicius = new Titular(new CPF('123.456.789-10','Vinicius Dias'));
$primeiraConta = new Conta($Vinicus);
$primeiraConta->deposita(500);
$primeiraConta->saca(300);

echo $primeiraConta->recuperaNomeTitular() . PHP_EOL;
echo $primeiraConta->recuperaSaldo() . PHP_EOL;
echo $primeiraConta->recuperaCpfTitular() . PHP_EOL;

$patricia = new Titular(new CPF('987654321-10', 'Patricia'));
$segundaConta = newConta($patricia);


$juliana = new Tituar(new CPF('123', 'Juliana'));
$terceiraConta = newConta($Juliana);



//unset($segundaConta);

echo Conta::recuperaNumeroDeContas();

Se alguém souber o que pode ser e puder me ajudar. Obrigada!!!

2 respostas
solução!

Olá Cristina.

Pode ser na linha

$Vinicius = new Titular(new CPF('123.456.789-10','Vinicius Dias'));

A classe Titular espera dois parâmetros, mas nessa linha o fechamento do ) está depois do nome. Desse modo está passando dois parâmetros para CPF e apenas um para Titular.

Sugestão:

$Vinicius = new Titular(new CPF('123.456.789-10'),'Vinicius Dias');

Outro ponto que reparei é que a linha

require_once 'src/CPF.php';

está depois do require_once da Titular, acho que deveria ser antes, pois na classe Titular está tratando de um parâmetro do tipo CPF. É só uma dica se aparecer algum outro erro.

Abraço.

Oi Renato, obrigada!!!! Realmente tinha este detalhe que eu estava colocando os parenteses errados, alterei a ordem do require cpf tambem. Agora que resolvi isto apareceram outros problemas inesperados...irei procurar em outros tópicos, já conferi todo meu código com do professor, irei olhar mais detalhadamente, pois podem ter outros detalhes passando despercebidos, em um dos arquivos. Mais uma vez obrigada pela ajuda!!!