Compilierungsproblem mit Konstruktor



  • Hallo zusammen, ich bin neu hier und C++ Programmieranfänger und habe bzgl. dem Konstruktor folgendes Problem und komme einfach nicht dahinter. Wäre super, wenn mir hier wer helfen könnte!

    Compilermeldung:
    CommandList.cpp: In constructor 'CommandList::CommandList()':
    CommandList.cpp: error: no matching function for call to 'CommandQuit::CommandQuit()'
    CommandQuit.h:19 note: candiates are: CommandQuit::CommandQuit(std::tring)
    CommandQuit.h:17 note: CommandQuit::CommandQuit(const CommandQuit&)

    --------------------------------------------------------------------------------
    CommandList.cpp:

    CommandList::CommandList ()
    {
      command_list_.insert(std::make_pair("QUIT", new CommandQuit));
    
    }
    

    ++++++++++++++++++++++++++++++++++++++

    CommandQuit.h:

    private:
        int quit_value_;
        CommandQuit(const CommandQuit&);
      public:
        CommandQuit(std::string name);
        virtual ~CommandQuit();
    

    LG



  • Naja, steht im Prinzip ja schon in der Fehlermeldung. Du versuchst, den Standardkonstruktor zu benutzen, aber hast keinen definiert. Das musst du entweder nachholen oder CommandQuit(std::string) benutzen.

    Das ungeschützte new da macht mir auch Unbehagen, aber das ist wieder ein anderes Thema. Es muss aber sichergestellt werden, dass das wieder delete d wird.


Anmelden zum Antworten