1
resposta

Meu código não funciona como o da vídeo aula para dar valor a uma variável na função deposita

No jeito que aparece no vídeo não está funcionando no meu intellij mas se eu trocar os : por = ele funciona. Queria saber o porquê.

fun main() {
    println("Bem vindo ao Bytebank")
    var contaAlex = Conta()
    contaAlex.titular = "Alex"
    contaAlex.numero = 1000
    contaAlex.saldo = 200.0

    var contaFran = Conta()
    contaFran.titular = "Fran"
    contaFran.numero = 1001
    contaFran.saldo = 300.0

    println("Depositando nas contas")
    deposita(contaAlex, valor: 50.0)  //erro! não aceita
    //deposita(contaAlex, valor = 50.0) da certo
    println(contaAlex.saldo)
    deposita(contaFran, valor: 70.0) //erro! não aceita
    //deposita(contaFran, valor = 70.0) da certo
    println(contaFran.saldo)
}
fun deposita(conta: Conta, valor: Double){
    conta.saldo += valor
}
class Conta {
    var titular = ""
    var numero = 0
    var saldo = 0.0
}
1 resposta

Oi Marcelo, tudo bem?

Esse código realmente não deve compilar:

deposita(contaFran, valor: 70.0) //erro! não aceita

Ele aparece assim em vídeo por conta do IntelliJ que colocar automaticamente um hint (dica) que aquele argumento refere-se ao parâmetro valor da função.

Por isso que não é possível editar e apresenta o problema de compilação caso tente colocar o :

[]s