3
respostas

varialvel saldo não inicializada

Insira aqui a descrição dessa imagem para ajudar na acessibilidade quando eu coloco o código para executar aparece esse erro da iso

3 respostas

Olá.

ISO C++ é sobre os padrões da linguagem C++, não é o erro em si.

Está dizendo que a padronização impede que esse atributo privado da classe seja declarado e já iniclaiizado. Não sei qual versão do C++ você está usando, mas faça o seguinte - inicialize no construtor:

No arquivo banco_conta.h:

class Conta {
    public:
    Conta(); //construtor
    void depositar(double valor);  // declaração de método

    private:
        double saldo;
}

No arquivo banco_conta.cpp:

#include "banco_conta.h"

Conta::Conta() { //definição do construtor
    this->saldo = 0; // inicialização da variável
}

void Conta::depositar(double valor) {
    this->saldo += valor;  // o mesmo de se fazer saldo = saldo + valor, só que mais conciso.    
}

Esses nomes de arquivos com espaços podem ser bem problemáticos. Adote a convenção snake_case, ou seja, mude os nomes para banco_main.h, banco_conta.cpp, e assim por diante.

Obrigado!! Eu consegui resolver o problema rodando o código pelo replit, e funcionou, mas irei alterar lá no Falcon c++!

Certo Leonardo.

Marque este tópico como resolvido.

Bons códigos!