PeinlichePeinliche Pointerfrage



  • Hallo

    Ich versteh die Welt nicht mehr... Kann ich keinen Pointer als Argument übergeben 😕 😕 😕

    void test(int* Pointer) {
        int* x=new int;
        *x=5;
        Pointer=x;
    }
    
    int main() {
        int* PointerInMain;
        test2(PointerInMain);
        cout << *PointerInMain;
    }
    

    Wenn ich das Ausführe kommt eine Speicherverletzung. Warum kann ich keinen Pointer als Parameter übergeben 😞
    Dies funktioniert ja auch...

    int* a=new int;
    int* b;
    
    *a=3;
    b=a;
    cout << *b;
    

    Danke für die Hilfe



  • Pointer werde per Call by Value übergeben. Es wird also eine Kopie von dem Pointer übergeben. Wenn du den Pointer selber übergeben willst, dann musst du also einen Pointer auf einen Pointer übergeben.

    PS: new gibt es bei ANSI C nicht.

    Gruß
    Entyl Sa



  • Wie kann man eine Kopie von einem Pointer übergeben 😕 😕 😕
    Wenn man eine Variable als Parameter übergibt ist es mir schon klar dass nur der Wert übergeben wird. Aber was wird bei einem Pointer übergeben. Nur die Zieladresse auf der der Pointer zeigt???



  • und müsste es echt in etwa so ausschauen 🙄 ???

    void test(int** Pointer)
    {
    	int*b =new int;
    	*b=4;
    	*Pointer=b;
    
    }
    
    int main() {
    
    	int* x;
    	test(&x);
    	cout << *x;
    }
    


  • TotalVerwirrter schrieb:

    Wie kann man eine Kopie von einem Pointer übergeben 😕 😕 😕
    Wenn man eine Variable als Parameter übergibt ist es mir schon klar dass nur der Wert übergeben wird. Aber was wird bei einem Pointer übergeben. Nur die Zieladresse auf der der Pointer zeigt???

    Der Wert des Pointers ist die Adresse, und genau der Wert (die Adresse) wird kopiert. 👍

    TotalVerwirrter schrieb:

    und müsste es echt in etwa so ausschauen 🙄 ???

    void test(int** Pointer)
    {
    	int*b =new int;
    	*b=4;
    	*Pointer=b;
    
    }
    
    int main() {
    
    	int* x;
    	test(&x);
    	cout << *x;
    }
    

    Genau 👍


Anmelden zum Antworten