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.