Großes Problem !! Bitte um Hilfe !!



  • Hallo Leute,

    Ich benutze in meiner Dialog Anwendung 2 Atribute vom Typ char* und tue sie wen ich sie benötige Initalisieren !!! Mein Problem ist ich möchte an einer Stelle meines Programmes Prüfen ob die Atribute schon speicher bekommen haben nur das funst nicht es gibt immer einen Schweren Ausnahmefehler !!

    Hier jetzt mal der Code wie es aussieht: ( Ist uber 2 Metohen Verteil aber das gleiche !!)

    char* test;
    	char* test2;
    
    	test = new CHAR[50];
    
    	if(test != NULL)
    	{
    	}
    
    	if(test2 != NULL)
    	{}
    

    Die überprüfung bei test funst weil ja speicher zugewiesen wurde !! Nur bei test 2 gibt es einen Schweren ausnahmefehler !! Wie kann ich sonst prüfen ob den Atributen Speicher zugewiesen wurde oder nicht ???

    Kann mir da einer Helfen ???

    Danke Coolsero



  • Du schreibst ja, dass du sie bei Bedarf initialisierst.

    Setzt du sie denn auch auf NULL? Oder meinst du das mit initialisieren?



  • Hallo estartu_de,

    ich meine es eigentlich genau so wie in dem Beispiel !! Wen ich eine Benötige weise ich ihr erst sepeicher zu also:

    test = new CHAR[50];
    

    So meine ich das und wenn ich sie nicht benötige bekommt sie auch keinen Speicher !!!

    Nur wie Prüfe ich jetzt ob sie schon speicher zugewiesen bekommen hat ??? Wie du bei meinem ersten Beitrag sehen kannst funst es mit

    if(test2 != NULL)
    {}
    

    nicht!!! test2 hat noch kein speicher und dann bekomme ich einen Fehler ( Schwerer Ausnamefehler )

    Aber man müste das doch abragen können oder ???

    gruß Coolsero



  • Also: Wenn du auf NULL prüfen möchtest, musst du es auch zuweisen.

    char* pText = NULL;
    
    // jetzt funktioniert der Vergleich
    
    pText = new...
    
    // jetzt merkt der dass da was hinter ist
    
    delete pText;
    pText = NULL; // Nicht vergessen!
    

Anmelden zum Antworten