Linux a Windows

0

Napisałem dla kolegi program w C na linuxie ze zwykłą kompilacją (żadnych dodatkowych opcji) i mi normalnie śmiga, działa, ale u niego na windowsie visual studio wywala błąd. Można to jakoś 'naprawić' bez ingerencji w kodzie? Jakieś opcje kompilacji u niego czy coś, nie wiem?

Błąd przy jednej z funkcji:

 
int zapisz(FILE *plik_wy,t_ob *ob, int *grey)
{
	int i,j;
	int (*px)[ob->wym_x];
	px=(int(*)[ob->wym_x]) ob->px;
	if (plik_wy==NULL)
    {
        fprintf(stderr,"Blad: Nie podano uchwytu do pliku\n");
        return(0);
    }
	fprintf (plik_wy,"P2\n");
	fprintf (plik_wy,"%d %d %d\n", ob->wym_x, ob->wym_y, *grey);
	for (i=0; i<ob->wym_y; i++)
	{
		for (j=0; j<ob->wym_x; j++)
		{
			fprintf (plik_wy,"%d ",ob->px[i*(ob->wym_x)+j]);
			fprintf(plik_wy,"\n");
		}
	}
}

expression must have a constant value (odnośnie tego px=(int(*)[ob->wym_x]) ob->px;)

1

MSVC nie obsługuje C99 (min VLA, które tutaj używasz).
https://msdn.microsoft.com/en-us/library/02y9a5ye.aspx

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