1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Erro]C++

Discussão em 'Programação' iniciada por Patrick_maura, 8 de Junho de 2008. (Respostas: 10; Visualizações: 754)

  1. Patrick_maura

    Patrick_maura Power Member

    Bom dia...

    O meu problema é o seguinte:

    Código:
    if(dados->taxa_juro==1){
                if(ptr->garantia<=0,6){
                    if(dados->emprestimo<50000){
                        ptr->indexante=0,05758;
                        ptr->spread=0,00950;
                    }if(dados->emprestimo<1000000){
                        ptr->indexante=0,05558;
                        ptr->spread=0,00750;
                    }if(dados->emprestimo<150000){
                        ptr->indexante=0,05458;
                        ptr->spread=0,00650;
                    }else
                        ptr->indexante=0,05308;
                        ptr->spread=0,00500;
                }
    Em todas as linhas do código dá-me este erro: error C2227:left of '->emprestimo' must point to class/struct/union/generic type.

    Alguem sabe me dizer o que tenho que fazer?
     
  2. arconada

    arconada Power Member

    Tens que fazer o include do header file onde está a classe a que "dados" pertence.
     
  3. Patrick_maura

    Patrick_maura Power Member

    Desculpa, não percebo muito disto ainda...

    dados é um ponteiro para uma estrura...Sabes me dizer qual é a header file?

    Já fiz alguns includes, não sei qual possa faltar.
     
  4. OubeLa

    OubeLa Power Member

    Outra coisa:

    Código:
    if(dados->taxa_juro==1){
                if(ptr->garantia<=0,6){
                    if(dados->emprestimo<50000){
                        ptr->indexante=0,05758;
                        ptr->spread=0,00950;
                    }else if(dados->emprestimo<1000000){
                        ptr->indexante=0,05558;
                        ptr->spread=0,00750;
                    }else if(dados->emprestimo<150000){
                        ptr->indexante=0,05458;
                        ptr->spread=0,00650;
                    }else
                        ptr->indexante=0,05308;
                        ptr->spread=0,00500;
                }
    Assim é correcto. Se estivesses a usar apenas if's, se dados->emprestimo fosse, por exemplo, 149999 ele ia exectuar todas as condições, e não me parece que é isso que querias.

    Quanto ao erro em si, tens a certeza que estás a declarar isso correctamente?
     
  5. ApM

    ApM Power Member

    outra coisa:
    valores decimais em c/c++ e todas que conheço é usado ponto ('.') para separar a parte inteira da decimal.
    Então essa virgula ai ta MALE :P
     
  6. arconada

    arconada Power Member

    Desculpa, pensei que estavas a utilizar classes.
     
  7. Como é que estás a declarar a variável "dados"?
     
  8. Patrick_maura

    Patrick_maura Power Member

    Vou alterar as (,) para (.) pois não esta correcto.

    Eu declarei dados no main...disse que dados era um ponteiro para a estrutura dados_emprestimo.

    Código:
    void main(void){
       
       struct dados_emprestimo*dados;
    Está correcto ou errado?

    Ah, eu tenho dois ponteiros diferentes a apontar para a mesma estrutura.

    Tenho o ponteiro chamado dados e o ponteiro chamado dad.

    Isso pode trazer alguma confusão ao programa?
     
    Última edição pelo moderador: 8 de Junho de 2008
  9. arconada

    arconada Power Member

    e dados_emprestimo esta declarado? se sim onde?
     
  10. Patrick_maura

    Patrick_maura Power Member

    Esta declarado no main.
     
  11. arconada

    arconada Power Member

    Bem, tenho uma ideia... mas sem ver o codigo todo nao sei... dados é um apontador certo? mas esta a apontar para que estrutura? e quando digo estrutura digo variavel do tipo dados_emprestimo
     

Partilhar esta Página