.| Autor | Beitrag |
|---|---|
|
000 12.01.2002, 17:15 thinktank |
Ich hab einen neuen Button gemacht, dessen Basisklasse CommandButton ist CSpawnButton::CSpawnButton( const char* text,int x,int y,int wide,int tall, bool bNoHighlight) CSpawnButton::CSpawnButton( int iPlayerClass, const char* text,int x,int y,int wide,int tall) Jetzt kommen folgende Errors : Dann schau ich in der MSDN nach C2512. Folgende Beschreibung wird angezeigt : Compiler-Fehler C2512 Für die angegebene Klasse, Struktur oder Union steht kein Standardkonstruktor zur Verfügung. Der Compiler generiert nur dann einen Standardkonstruktor, wenn keine anderen Konstruktoren vom Programmierer definiert werden. Sie müssen also einen Standardkonstruktor selbst definieren, wenn Sie auch andere Konstruktoren (mit Parametern) benötigen. Ersatzweise kann auch ein anderer Konstruktor als Standardkonstruktor dienen, wenn alle seine Parameter Standardwerte besitzen und er sich damit ohne eine explizite Übergabe von Parametern aufrufen läßt. Jetzt kommt meine Frage : Und : |
|
Profil || Suche |
|
001 12.01.2002, 17:27 Mazze |
Einfach einen geeigneten Standartkonstruktor programmieren.. =) Wieso will er denn einen Standartkonstruktor? BattleTech-MOD: |
|
Profil || Suche |
|
002 12.01.2002, 17:29 Kriz |
a) Falsches Forum -> Halflife-Coding K:R-I)Z++ |
|
Profil || Suche |
|
003 12.01.2002, 19:46 thinktank |
Hier, das wirst du wohl meinen : m_pButtons[i] = new CSpawnButton("",XRES(5),(YRES(24)+(YRES(30)*i)),XRES(124),YRES(18),false); m_pButtons[i] = new CSpawnButton("",XRES(300),(YRES(24)+(YRES(30)*(i-16))),XRES(124),YRES(18),false); Die Parameter sind 100% richtig, da ich vorher statt CSpawnButton CommandButton verwendet hab. Und da die Konstruktoren 1:1 übernommen wurden, müssen sie eigentlich richtig sein. Instanzierung des Objekts ? Ich dachte ein Objekt sei eine Instanz. Hier nochmal die Deklaration von CSpawnButton : class CSpawnButton : public CommandButton CSpawnButton(const char* text,int x,int y,int wide,int tall, bool bNoHighlight = false); virtual void paint(); bool IsValid; Dieser Beitrag wurde am 12.01.2002 um 19:56 von thinktank bearbeitet. |
|
Profil || Suche |
|
004 13.01.2002, 12:30 Prefect |
Ahem.. müßte das nicht so aussehen: CSpawnButton::CSpawnButton( const char* text,int x,int y,int wide,int tall, bool bNoHighlight) cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
005 13.01.2002, 21:38 Kriz |
*Back at home* Jo, die Initialisierungsliste muß Vaterkonstruktoren initialisieren, falls dessen Konstruktor keine indirekte Initialisierung unterstützt. Ausgabe: m_i = 5 Cu --K:R-I)Z++ |
|
Profil || Suche |
|
006 14.01.2002, 07:37 Kriz |
ARGHHHHHHHH, so isses richtig:
K:R-I)Z++ |
|
Profil || Suche |
|
007 14.01.2002, 17:36 thinktank |
Aha , wieder was gelernt, Danke ! |
|
Profil || Suche |

