error: 'std::string' has not been declared



  • Hallo allerseits,

    Ich bin neu hier in dem Forum, denn ich bin gerade dabei mir C++ Kentnisse anzueignen.
    Jetzt habe ich mal versucht eine Klasse in eine externe Datei zu machen:
    Ziel soll einfach sein, dass ich mit einem Objekt die Methode aufrufe die ich einem String überliefere und er gibt in dann aus aber dann kommt folgende Fehlermeldung:

    Line 9 error: 'std::string' has not been declared|
    Line 11 error: prototype for 'void second::ausgeben(std::string)' does not match any in class 'second'|
    Line 9 error: candidate is: void second::ausgeben(int)|
    ||=== Build finished: 3 errors, 0 warnings ===|

    Kann mir da jemand weiterhelfen? Warum muss ich als Ausgabewert jetzt int statt void nehmen?

    main.cpp:

    #include <iostream>
    #include "second.h"
    
    using namespace std;
    
    int main() {
    
        second obj;
    
        string str = "Hallo";
    
        obj.ausgeben(str);
    
    }
    

    second.cpp:

    #include "second.h"
    #include <iostream>
    
    using namespace std;
    
    second::second()
    {
    
    }
    
    void second::ausgeben(string i) {
    
        cout << i << endl;
    
    }
    

    second.h: (hier ist der Fehler)

    #ifndef SECOND_H
    #define SECOND_H
    
    class second
    {
        public:
            second();
            void ausgeben(std::string i);
    
    };
    
    #endif // SECOND_H
    


  • Du hast vergessen, <string> zu includen...


Anmelden zum Antworten