Debugger meldet Fehler bei Eingabe/Ausgabe, was tun?



  • Hallo,

    ich bin absoluter C++ Neuling und habe mich an einer simplen Aufgabe versucht.

    Leider meldet der Compiler einen Fehler bezüglich Geltungsbereich:

    Mein "Projekt" ist in Header-, Funktions- und Projektfile aufgeteilt:
    Header:

    #include <iostream>
    
    class Komplex
    {
    private:
    	double m_re;
    	double m_im;
    
    public:
    	Komplex(double r, double i);
    
    	void putRe();
    };
    

    Funktionen:

    Komplex::Komplex(double r, double i)
    : m_re(r), m_im(i)
    {};
    
    void Komplex::putRe()
    {cout << "Realteil: " << m_re << endl;};
    

    main:

    #include <iostream>
    #include "compl.h"
    using namespace std;
    inline void keep_window_open() {char ch; cin >> ch;}
    
    int main () {
    	Komplex c(4, 5);
    	putRe(); //'putRe' was not declared in this scope
    	keep_window_open();
    	return 0;
    }
    

    Ich weiß nicht was ich verärndern muss



  • putRe ist eine Methode von Komplex und braucht dementsprechend ein Komplex-Objekt:

    c.putRe();
    


  • danke. 😮



  • #include <iostream>
    #include <string>
    using namespace std;
    
    int main (int argc, char * const argv[]) {
    	double alter;
    	string name;
    
    	cout << "Bitte geben Sie ihren namen und ihr alter ein: \n";
    	cin >> name >> alter;
    	cout << "Hallo " << name << "(" << alter << " Jahre alt) !"; 
        return 0;
    }
    

    Nun möchte ich eine einfache I/O machen. Nachdem die erste Ausgabe ("Bitte geben Sie...") erscheint und ich eine entsprechende Eingabe gemacht habe (mustername 123) gibt der Debugger folgendes aus:

    ioc++(512) malloc: *** error for object 0x100005220: pointer being freed was not allocated
    *** set a breakpoint in malloc_error_break to debug
    Program received signal: “SIGABRT”.
    sharedlibrary apply-load-rules all
    (gdb)

    😕



  • ich weiss es ist wahrscheinlich sehr trivial für euch, aber ich seh's halt im moment nicht
    Könnte mir jemand nen kurzen hinweis geben bitte?

    MfG



  • Im Zusammenhang mit Strings taucht immer diese Fehlermeldung auf.. 😕



  • Ich komme nicht weiter, wenn ich dieses String-Problem nicht behoben kriege.. 😞



  • Welchen Compiler nutzt du denn? Am Code sollte es nicht liegen.
    http://codepad.org/1fiyY3Ix (cin klappt hier natürlich nicht).



  • Vicious Falcon schrieb:

    Welchen Compiler nutzt du denn? Am Code sollte es nicht liegen.
    http://codepad.org/1fiyY3Ix (cin klappt hier natürlich nicht).

    Ich Verwende Apple Xcode



  • Und nun? Muss ich irgendwelche Bibliotheken oder Headerfiles einbeziehen?



  • Tja, du scheinst nicht der Einzige mit dem Problem zu sein.
    Ich habs gerade nur überflogen, die Releaseversionen scheinen aber bei einigen Postern zu laufen, bei dir auch?



  • Vicious Falcon schrieb:

    Tja, du scheinst nicht der Einzige mit dem Problem zu sein.
    Ich habs gerade nur überflogen, die Releaseversionen scheinen aber bei einigen Postern zu laufen, bei dir auch?

    If you go into Targets -> xxx -> GCC 4.2 Preprocessor -> Preprocessor Macros and delete _GLIBCXX_DEBUG=1 _GLIBCXX_DEBUG_PEDANTIC=1 it will go away.

    Ich weiß zwar nicht so recht, was _GLIBCXX_DEBUG=1 _GLIBCXX_DEBUG_PEDANTIC=1 genau ist bzw was ich mit dem löschen noch alles bewirkt habe, aber , bei sonst gleichen einstellungen, funktioniert jetzt die kompilierung bzw ausführung mit strings. hmm


Anmelden zum Antworten