Pointer in Funktionsaufruf



  • Hi everyone

    wenn ich folgenden Code ausführe:

    vector<CEwbMeter *> ewbArray;
    // ...
    // Vektor befüllen
    // ...
    ewbArray.at(0)->rd_Data(true);
    

    klappt alles wunderbar und die Daten werden eingelesen (rd_Data nimmt über ein Interface Kontakt zu unserem Zählergerät auf und speichert die erhaltenen Daten in einer Membervariable der CEwbMeter-Klasse bzw. einer davon abgeleiteten Klasse).

    Mache ich es allerdings so:

    vector<CEwbMeter *> ewbArray;
    // ...
    // Vektor befüllen
    // ...
    stdOtp.otp_HandReadout(ewbArray.at(0), argv, argc);
    

    wobei otp_HandReadout folgende Memberfunktion ist:

    void CEwbOutput::otp_HandReadout(CEwbMeter *m_Ewb, char *m_argv[], int m_argc) const {
        // ...
        cout << "Diese Zeile wird auf der Konsole noch angezeigt" << endl;
        m_Ewb->rd_Data(true);
        // ...
    }
    

    Gibt mein Programm eiskalt einen Segmentation Fault aus. Woran kann das liegen?

    Besten Dank und Gruss
    Kessi



  • Ziemlich undurchsichtig das Ganze.
    Warum schaust du nicht mit nem debugger nach was schiefläuft?
    Solche SegFaults lassen sich dann eigentlich relativ schnell finden.


Anmelden zum Antworten