Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Pointer auf Pointer und rekursion...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.07.2006, 10:28 Uhr
RedEagle



Hi
ich habe folgenden funktionsaufbau


C++:
//...
int *x = ADDRESS;
setnewaddress(&x, 13);
//...

void setnewaddress(int **y, int value)
{
static int level=0;
int current

//PUNKT A
current = **y;
*y++;
//PUNKT B

if(current == 0xFF)
{
  level++;
  setnewaddress(y);
  level--;
}
if(current == 0x00) return false;

if(level < 0) return false;
if(level == 0 && current == value) return true;
}


Beim ersten durchlauf läuft alles so wie es soll.
Wenn alerdings current == 0xFF ist und die Funktion erneut aufgerufen wird, stürtzt das Programm nach PUNKT A ab.

woran liegt das?? ist irgendwo ein Denkfehler??
--
MFG RedEagle

Dieser Post wurde am 18.07.2006 um 10:29 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.07.2006, 10:52 Uhr
0xdeadbeef
Gott
(Operator)



C++:
*y++;


ist das selbe wie

C++:
*(y++);


Du willst aber, so wies aussieht,

C++:
(*y)++;


bzw.

C++:
++*y;


Allerdings sollte *y dann auf ein Array zeigen, sonst gibts wieder segfaults.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.07.2006, 11:12 Uhr
RedEagle






--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: