Funkcja wyświetlająca, Warning

Funkcja wyświetlająca, Warning
LI
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 8 lat
  • Postów:86
0

Witam,

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

Kopiuj
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 :)

edytowany 1x, ostatnio: flowCRANE
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
3

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
LI
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 8 lat
  • Postów:86
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.

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

funkcja create_field zwraca int **tab

edytowany 3x, ostatnio: flowCRANE
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
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...


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
LI
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 8 lat
  • Postów:86
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.

edytowany 1x, ostatnio: littlejohn

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.