Funkcja wyświetlająca, Warning

0

Witam,

Mam funkcję wyświetlającą tekst pokaz.

void pokaz(int **tab, int n, int m)
{
    int i,j;

    for (i = 0; i < m; i++)
    {
        printf("|");
        for(j = 0; j < n; j++)
        {
            printf("%d ", tab[i][j]);

        }
        printf("|\n");
    }
}

Daje mi ona Warninga przy wywołaniu "ostrzeżenie: implicit declaration of function 'pokaz' [-Wimplicit-function-declaration]"
pokaz(tab,n,m); - tak wywołuje
oraz przy prototypie funkcji "ostrzeżenie: conflicting types for 'pokaz' [enabled by default]"
void pokaz(int **tab, int n, int m)

Co robię źle?
W mainie alokouje pamięć do niej i ją wypełniam, ale tamte funkcje działają bez zarzutu.

Bardzo proszę o pomoc :)

3

Na oko to wywołujesz funkcję PRZED jej deklaracją w pliku źródłowym.

0

Racja, wystarczyło tylko zamienić funkcję kolejnością :)


ostrzeżenie: 'znak' is used uninitialized in this function [-Wuninitialized]
Wiem, że to już nie jest dokładnie z tematem związane, ale zapytam dlaczego krzyczy jeszcze w takiej sytuacji.

int  **znak
znak = create_field(znak,n,m);

funkcja create_field zwraca int **tab

0

Bo przekazałeś "znak" jako argument funkcji a w przeciez nie nadałeś mu żadnej wartości! Ciekawi mnie po co w takim razie w ogóle przekazujesz tą zmienną do funkcji...

0

To jak wywołać funkcję alokującą pamięć do danej tablicy?

Edit:
w porządku, wiem już
po prostu zadeklarować tablicę w funkcji, a nie ją przekazywać jak argument.
Moje niedopatrzenie.

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