Funkcje operujące na wskaźnikach

0

Witam
piszę fragment kodu w którym funkcje jako argumenty pobierają wskaźniki.Jednak chyba jest z nimi coś nie tak, bo kompilator zwraca błędy. Proszę o pomoc plik źródłowy poniżej

#include <stdio.h>

void jeden(int *jeden);
void dwa(int *dwa);

int main()
{
int zmienna;
zmienna=3;

jeden(&zmienna);

return 0;

}

void jeden(int *jeden)
{
dwa(*jeden);
}

void dwa(int *dwa)
{
*dwa+=2;
}

W czym leży problem i jak program powinien być napisany prawidłowo

1

kompilator wyraźnie mówi w czym problem. Wystarczy, że tylko przeczytasz komunikat.

prog.cpp: In function 'void jeden(int*)':
prog.cpp:18:12: error: invalid conversion from 'int' to 'int*' [-fpermissive]
  dwa(*jeden);
            ^
prog.cpp:4:6: note: initializing argument 1 of 'void dwa(int*)'
 void dwa(int *dwa);
      ^
0

poprawiłem przekazanie argumentu w funkcji jeden
wygląda to teraz tak:

void jeden(int *jeden)
{
dwa(&jeden);
}

Niestety wyskakują dalej błędy

2
void jeden(int *jeden)
{
    dwa(jeden);
} 
0

Ok dziękuję wygląda na to, że teraz działa.
Jeszcze raz dziękuję.

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