Ir ao conteúdo
  • Cadastre-se

Cannot Convert float to float[ *][4]


Xenogue

Posts recomendados

bom dia a todos!

Estou com esse erro no meu programa, tenho uma função

MATRIZ4 d[4];

void CS(VASO *input, VASO *output)

{

VASO aux1;

Mult(aux1.nrd, d[MODEL], input->nrd);

}

Ai ta dando esse erro,

================================================

sendo que no header tem

typedef float VETOR4[4];

#define MODEL 0

typedef struct _vaso {

VETOR4 nrd;

...

} VASO;

================================================

E a Mult é:

void Mult(VETOR4 *v_destino, MATRIZ4 *m, VETOR4 *v ){

*v_Destino[0] += (*v[0])*(*m[0]);

*v_Destino[1] += (*v[1])*(*m[1]);

*v_Destino[2] += (*v[2])*(*m[2]);

*v_Destino[3] += (*v[3])*(*m[3]);

(... se repete o resto)

}

alguém saberia o que está acontecendo? Grato pela atenção

Link para o comentário
Compartilhar em outros sites

Peguei só parte do código que está dando problema, já q o resto é gigantesco!

MATRIZ4 d[4]; //Crio uma matriz definida por um typedef

void CS(VASO *input, VASO *output) //Função que da pau, ela chama a função Mult (mais abaixo), passando como valores um input e um output do tipo VASO, definido num typedef mais abaixo

{

VASO aux1; //Cria um auxiliar do tipo VASO

Mult(aux1.nrd, d[MODEL], input->nrd);

}

Ai ta dando esse erro,

================================================

sendo que no header tem

//Estes typedef são vetores

typedef float MATRIZ4[16]; //O typedef do primeiro código MATRIZ4 d[4];, não sei se é possivel fazer isso

typedef float VETOR4[4]; //O typedef do header que uso dentro do Struct VASO que uso dentro do método acima

#define MODEL 0

typedef struct _vaso { //O struct que usa o VETOR4 acima e é usado pela função principal

VETOR4 nrd;

...

} VASO;

================================================

E a Mult é: //Essa é a função de de multiplicação que é utilizada na primeira função.

void Mult(VETOR4 *v_destino, MATRIZ4 *m, VETOR4 *v ){

*v_Destino[0] += (*v[0])*(*m[0]);

*v_Destino[1] += (*v[1])*(*m[1]);

*v_Destino[2] += (*v[2])*(*m[2]);

*v_Destino[3] += (*v[3])*(*m[3]);

(... se repete o resto)

}

Tentei detalhar mais, se ninguém conseguir ajudar td bem, eu tento me virar mais aqui hehehe

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!