Unit erstellt aber leider kann ich nicht kompilieren



  • Hallo, ich habe folgendes erstellt:

    In Unit1.h

    #include <string>
    
    class Test
    {
       private:
       public:
          int getNummer(string sName);
    };
    

    In Unit1.cpp

    #include <Unit1.h>
    Test *test;
    
    int Test::getNummer(string sName)
    {
       ...
       return 0;
    }
    

    es will leider nicht funktionieren. Ich bekomme die Fehlermeldung dass der Compiler in: getNummer(..) keinen String erwartet. Verstehe ich nicht. Wie solle ich denn überhaupt die Klasse beim erstellen initialisieren?



  • Du musst std::string verwenden.



  • Hi, danke. Ich habe das auch schon mit std::string versucht aber es geht nicht.

    Ich kann auch ganz normal nicht mal eine variable mit string definieren. ich will aber dass ich standard c++ verwenden kann. kann BCB den standard nicht?


  • Mod

    Hallo

    wie hast du das erstellt ?
    (mit dem Konsolenexperten)

    MfG
    Klaus



  • Mit std::string in beiden Dateien (cpp und h) müsste es gehen. Der BCB kann den Standard eigentlich ganz gut.
    Ansonsten wäre es hilfreich, wenn du den genauen Wortlaut deiner Fehlermeldung mal hier angibst (nur "geht nicht" ist etwas wenig).



  • Hallo, mit std geht es auch nicht. der kompiler meldet mir: string not member of std

    sobald ich halt string benutze geht nichts mehr. wenn ich die string variable rauslassen funktioniert meine unit einwandfrei. wieso will das nicht funktionieren.



  • Diese Fehlermeldung kommt normalerweise wenn man das include <string> vergessen hat oder evtl. <string.h> inkludiert hat. Mach doch mal ein Minimalprojekt mit dem Konsolenexperten und schau mal ob es da geht. Ansonsten müsstest du uns etwas mehr Quelltext zeigen.
    Ich verwende std::string sehr häufig und hatte damit noch nie Probleme.



  • @Braunstein:

    Danke es hat funktioniert. Ich mußte include <string> schreiben und nicht string.h
    daran hat es gescheitert. Vielen dank



  • Dann ist es ja gut. 😉
    Gewöhne dir die Header ohne .h bei den Standardsachen lieber an, sonst kannst du grosse Probleme bekommen. Desweiteren würden ich dir raten derartige C++ Standardfragen lieber im C++ Forum zu stellen. Dieses Forum ist speziell für den BCB (also VCL oder CLX-Sachen).

    Ciao


Anmelden zum Antworten