Programm bricht zusammen mit dem Hinweis "Expression cannot be evaluated"



  • Hallo 🙂

    Ich hab (wieder mal) ein Problem. Ich bin an der Stelle komplett clueless, vielleicht blickt jemand von euch eher durch 🙄

    Ich erzeuge ein Objekt mit folgenden Parametern:

    enum KindOf; // could be S or T
    string Reference;
    double Value;
    

    und füge es zu einer Liste mit Zeigern auf Objekte desselben Typen:

    void Build::AddToObjList(KindOf aKindOf, double aValue, string aRef){
    
    	Object* myObj = NULL;
    	myObj = new Object(__FILE__, __LINE__);
    
    	myObj->setMyKindOf(aKindOf);
    	myObj->setMyRef(aRef);
    	myObj->setMyValue(aValue);
    
    	this->ObjList->push_back(myObj);
    }
    

    Nun, das Programm stürzt ab mit der Meldung "Unhandled exception blablabla" und "Access vioaltion reading soundso". Ich bekomme einen Hinweis dass die Zeile

    this->ObjList->push_back(myObj);
    

    die nächste auszuführende Zeile sei. Desweiteren ist die letzte Meldung vom Object-Konstruktor "Expression cannot be evaluated".

    Ich habe keine Ahnung was das sein könnte 😞 Anyone?



  • Cordula schrieb:

    Nun, das Programm stürzt ab mit der Meldung "Unhandled exception blablabla" und "Access vioaltion reading soundso". Ich bekomme einen Hinweis dass die Zeile

    Error: To less lines of code.
    

    Arbeitest du auch wirklich auf einen validen Objekt (Und der Rest deutet mir tendenziell eher auf unsaubere Programmierung hin).



  • Cordula schrieb:

    die nächste auszuführende Zeile sei. Desweiteren ist die letzte Meldung vom Object-Konstruktor "Expression cannot be evaluated".

    Das wird ja wohl eher dein Debugger sagen, wenn du __FILE__ auswerten willst.



  • ja das ist in der tat zu wenig code um was dazu sagen zu können...

    Edit: google sagt dass solche fehler auf ejden fall mit pointern entstehen, und die sind nicht richtig initialisiert...

    vllt prüfst du in der richtung mal



  • Skym0sh0 schrieb:

    ja das ist in der tat zu wenig code um was dazu sagen zu können...

    Edit: google sagt dass solche fehler auf ejden fall mit pointern entstehen, und die sind nicht richtig initialisiert...

    vllt prüfst du in der richtung mal

    made my day 😃



  • Ist das G++? Eventuell mal mit -Wall kompiliere oder bei VC++ mit /W4. Oft hilft das kleinere versteckte Fehler zu finden.



  • asc schrieb:

    Error: To less lines of code.
    

    Meinst Du "too few lines of code"? 😛 SCNR


Anmelden zum Antworten