이것은 헤더 파일입니다. 하지만 main.c에 포함 시키면 다음 오류가 발생합니다 : 예상 식별자 또는 '('앞에 'float'이 있습니다. 아주 바보 같은 오류가 될 수 있지만 코드가 표시되지 않습니다. 코드는함수를 선언하는 중 오류가 발생했습니다.
입니다.#ifndef Reference
#define Reference
float mat_a[3][3];
struct Reference_XS
{
int Bytes;
unsigned char *Buffer_Lectura;
};
struct Reference_XS Sist_Referecence(float q0,float q1,float q2,float q3,float val1,float val2,float val3)
{
float mat_a={(2*q0*q0)+(2*q1*q1)-1, (2*q1*q2)-(2*q0*q3), 2*q1*q3)+(2*q0*q1), (2*q1*q2)+(2*q0*q3), (2*q0*q0+(2*q2*q2)-1), (2*q2*q3)-(2*q0*q1), (2*q1*q3)-(2*q0*q2), (2*q2*q3)+(2*q0*q1), (2*q0*q0)+(2*q3*q3)-1};
float mat_b[3][1]={val1,val2,val3};
float mat_c[3][1];
int i,k;
float temp=0;
for(i=0;i<3;i++)
{
temp=0;
for(k=0;k<3;k++)
{
temp=mat_a[i][k]*mat_b[k][0]+temp;
mat_c[i][0]=temp;
}
}
struct Reference_XS data={mat_c};
return data;
}
#endif
당신은 헤더 파일에 함수 정의가 있습니까? 나는 나갔다. –
나는 15 년 동안 C를 사용하지 않았지만, 그것은 당신의 코드가'struct' 내부에'for' 루프를 가진 것처럼 보인 것을 막지 못했습니다. 아마도 이것이 오류가 될 수 있습니까? –
'mat_a '에 괄호가 맞지 않았습니다. 용어를 분해하고 사전 처리라는 용어를 고려해 두는 것이 좋습니다. 그렇게 쓰는 것은 그리 어렵지 않습니다. –