error: base with only non-default constructor in class without a constructor
-
error: base `TPlot' with only non-default constructor in class without a constructor
Wird mir gegeben bei folgender Klassenhierarchie:
class TPlot { public: TPlot(TH1* data, TH1* direct, TH1* resolved, bool log_b = true, bool lin_b = true); /*...*/ }; class TPlot2 : public TPlot { TPlot2& operator= (TPlot2 const&); TPlot2(TPlot2 const&); public: TPlot2(TH1* data, TH1* direct, TH1* resolved, bool log_b = true, bool lin_b = true) : TPlot(data, direct, resolved, log_b, lin_b) {}; /*...*/ };
Ich HAB doch einen Ctor in der abgeleiteten Klasse, und rufe den der Basisklasse auch auf. Wo ist das Problem, was ueberseh ich?
-
Compiler? Version?
G++ 3.2 und G++ 4.1 haben hier nichts gegen diesen Code (hinzugefügt wurde lediglich eine forward-declaration für TH1 über class TPlot).
EDIT: Er ist meiner Ansicht nach auch korrekt.
-
CINT/ROOT version 5.16.16 (CINT ist der Interpreter/Compiler)
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich glaube ihm fehlt der Copy-Ctor und Standard-Ctor in der Basisklasse. Füg die mal ein und teste es dann, einen Fehler nach Iso-C++ sehe ich da zwar nicht, aber du willst ja den Code zum kompilieren bringen *g*