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

Duvida no exercício "Banco com várias contas" em Arrays

Declarei a classe banco conforme abaixo:

  class Banco
    {
        private Conta[] contas = new Conta[10];

        private int quantidade=0;

        public void Adiciona(Conta conta)
        {
            this.contas[this.quantidade] = conta;
            this.quantidade++;

        }
    }
}

Porém na hora de utilizar o método e associa-lo a um botão, o programa dá erro.

private void button3_Click(object sender, EventArgs e)
        {
           this.banco.Adiciona(Conta conta);
        }

Error 1 'WindowsFormsApplication6.Conta' is a 'type' but is used like a 'variable' c:\users\leandro amorim\documents\visual studio 2013\projects\windowsformsapplication6\windowsformsapplication6\form1.cs 61 32 WindowsFormsApplication6

O que estou fazendo de errado?

2 respostas
solução!

Fala Leandro, beleza?

Seguinte, está na chamada do método adiciona. Veja que você está fazendo:

this.banco.Adiciona(Conta conta);

A sintaxe que você colocou dentro do parêntese(Conta conta) é a declaração de uma variável do tipo conta. Para funcionar do jeito que você quer, você tem que criar uma variável do tipo Conta que aponta para um objeto Conta e passar ele como parâmetro. Algo do tipo:

private void button3_Click(object sender, EventArgs e)
{
    Conta c1 = new Conta();
    /preenche os dados da conta, saldo e etc   
    this.banco.Adiciona(c1);
}

Ficou claro?

Abraço!

Linha : "this.banco.Adiciona(Conta conta);"
esta errada, vc nao deve passar o tipo no parametro, o método já sabe o deve ser recebido.
O correto no caso é : 

Conta conta = new Conta();
this.banco.Adiciona(conta);