Struktura, problem z przekazywaniem do funkcji

0

W pliku gra. h mam:

 struct pole
{
    int stan; //1x-jednomaszt., 2x-dwum., 3x-trzymaszt., 4x-czterom. 
                 //0-puste, 1-strzelone, 2-zatopione, 3-pudlo
    int kierunek; //0- poziom, 1 - pion
};

w main():

 struct pole player_board[WYS_SZER][WYS_SZER];
    struct pole computer_board[WYS_SZER][WYS_SZER];
int stan_gry = 0;
 start_gry(&stan_gry, player_board, computer_board);

w gra.c mam

 int zerowanie_planszy(struct pole *player_board[WYS_SZER], struct pole *computer_board[WYS_SZER])
{
    int  i,j;

    for (i=0; i<WYS_SZER; i++)
        for(j=0; j<WYS_SZER; j++)
        {

            player_board[i][j].stan      = 0;

            player_board[i][j].kierunek = 0;
            computer_board[i][j].stan    = 0;
            computer_board[i][j].kierunek= 0;
        }

    return 1;
}

int start_gry(int *stan_gry, struct pole *player_board[WYS_SZER], struct pole *computer_board[WYS_SZER])
{

    if(*stan_gry != 0) return 0;

    zerowanie_planszy(player_board, computer_board);

    *stan_gry = 1; //wypelnianie

    return 1;
}

Kompilator podaje warningi:
//\main.c [Warning] passing arg 2 of start_gry' from incompatible pointer type \main.c [Warning] passing arg 3 ofstart_gry' from incompatible pointer type //

Próbowałam znaleźć błąd też w kodzie, bo po skompilowaniu wyświetla się okno z informacją o wysyłaniu problemu do windowsa i prawdopodobnie jest coś nie tak m.in. z pętlą w zerowanie

Proszę o spojrzenie i pomoc w nakierowaniu na właściwe tory :)

0

Czy gra. h dołączona do main.c oraz do gra.c ?
Masz zmienną stan_gry oraz funkcje stan_gry - dziwie się że kompilator to przepuszcza. A może właśnie nie przepuszcza a ty nie zwracasz na to uwagi i odpalasz poprzednio skompilowaną wersje.

0

http://c-faq.com/aryptr/ary2dfunc2.html
http://c-faq.com/aryptr/pass2dary.html

Np:

// Zmien na
int start_gry(int *stan_gry, struct pole (*player_board)[WYS_SZER], struct pole (*computer_board)[WYS_SZER])

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0