좋아요, main.c
이라는 메인 소스와 test.h
이라는 헤더 파일, handBeraknare.c
이라는 또 다른 클래스가 있습니다. 내 메소드 중 일부를 클래스 handBeraknare.c
으로 transfeering하여 코드를 좀 더 읽기 쉽게하려고합니다. main.c
에서헤더 파일을 만드는 데 문제가 있습니다.
typedef struct kort{
int draget;
char farg;
int nummer;
struct kort *next;
}kort; `
내가이 사용 kort k=(kort*)malloc(sizeof(kort));
의 몇 가지를 만들고 배열에 넣어 :
main.c
에서 나는 다음과 같습니다 구조체가있다. 무엇을 달성하려고 노력하고
handBeraknare.c
에있는 함수에
kort
배열을 보내고 있지만 이상한 오류
"in file included from handBeraknare.c"
일종 얻을.
Im gussing이 헤더 파일과 관련이 있습니다. 이제는 "kort"
이 (내 구조체)입니다. 어쨌든, 여기에 코드의 일부는 다음과 같습니다
// in test.h
int beraknaFarg(kort kortHand[]);
// in handBeraknare.c
#include <stdio.h>
#include "test.h"
int beraknaFarg(kort kortHand[]){
char c = kortHand[0].farg;
int i;
for (i=1;i<5;i++){
if (kortHand[i].farg!=c){
printf("inte färg");
system("pause");
//Spelaren har inte färg. Retunera 0
return 0;
}
}
//Spelaren har färg. Retunera 1
printf("!!!!färg");
system("pause");
return 1;
}
//part of the main class. Calling function test()
// which calls the method beraknaHand which exists in handBeraknare.c
#include "test.h"
...
int main(int argc, char *argv[])
{
test();
}
// the testfunction in my mainclass
void test(){
char farg[4]={'S','K','R','J'};
int nummer[14]={0,2,3,4,5,6,7,8,9,10,11,12,13,14};
kort kortArray[52];
kort kortHand[5];
kort *k;
k=(kort*)malloc(sizeof(kort));
k->farg='s';
k->nummer=5;
kortHand[0]=*k;
k->farg='s';
k->nummer=11;
kortHand[1]=*k;
k->farg='s';
k->nummer=12;
kortHand[2]=*k;
k->farg='s';
k->nummer=11;
kortHand[3]=*k;
k->farg='s';
k->nummer=9;
kortHand[4]=*k;
beraknaFarg(kortHand);
정보가 충분하지 않습니다. handBeraknare.h는 어떻게 생겼습니까? 정확한 오류 메시지를 알려주십시오. –