Zeiger - Problem
-
Hallo,
ich wollte eine Funktion schreiben, über die man einen Zeiger in einem anderen Gültigkeitsbereich inkrementieren kann.
Ich denke ich hab das System noch nicht ganz verstanden^^.
##Vereinfacht dargestellt##
void ZeigerInk(int** Test)
{
*Test++;
}void main()
{
int Testarray[] = {1,2,3,4,5};
int* pTest = &Testarray[0];ZeigerInk(&pTest);
return 0;
}Bei der Übergabe eines einfachen Pointers ist garnichts passiert, jedoch tut sich mit einem Zeiger auf einen Zeiger genauso wenig =(.
Hoffe mir kann jemand helfen.
Vielen Dank!
Woo
-
Ich hab vergessen
cout << *pTest << endl;
nach dem Funktionsaufruf dazuzuschreiben.
-
Ok hat sich erledigt.
Das Problem war folgendes.
void ZeigerInk(int** Test) { *Test++; }funktioniert nicht.
aber
void ZeigerInk(int** Test) { *Test = *Test + 1; }funktioniert.
-
#include <iostream> void ZeigerInk(int* Test) { ++*Test; } int main() { int Testarray[] = {1,2,3,4,5}; int* pTest = &Testarray[0]; ZeigerInk(pTest); std::cout << *pTest << std::endl; return 0; }
-
Oder
++(*zeiger)