Object nicht initialisierbar
-
Hallo,
habe eine Klasse Programmiert:
#ifndef UnitLocalisationClassH #define UnitLocalisationClassH #include <ComCtrls.hpp> //--------------------------------------------------------------------------- class StringLocalisation { // private deklarierte Klassenvariablen und Methoden private: // public deklarierte Klassenvariablen und Methoden public: // Konstruktor / Destruktor __fastcall StringLocalisation(); ~StringLocalisation(){} // Funktionen void _fastcall SystemLangRename(TForm *pForm); }; //--------------------------------------------------------------------------- extern StringLocalisation ObjectTextLocal; //--------------------------------------------------------------------------- #endifHeaderdatei
Wie ihr seht, nutze ich extern!
pragma hdrstop #include "UnitLocalisationClass.h" StringLocalisation ObjectTextLocal(); //--------------------------------------------------------------------------- // Konstruktor __fastcall StringLocalisation::StringLocalisation() { } //--------------CPP-Datei
In der CPP-Datei ist sichtbar das ich dieses Objekt Instanziere.
Beim Compilieren erfolgt eine Fehlerausgabe:[BCC32 Fehler] UnitLocalisationClass.cpp(16): E2238 Bezeichner 'ObjectTextLocal' mehrfach deklariert
[BCC32 Fehler] UnitLocalisationClass.h(32): E2344 'ObjectTextLocal' bereits deklariertWas stimmt bei mir nicht und wo mache ich den Fehler???
itte habt Nachsicht, für mich ist das Neuland.
-
Das hier:
Ohne Muse schrieb:
StringLocalisation ObjectTextLocal();ist eine Funktionsdeklaration. Lass die Klammern weg.
-
Danke,
aber muss der Konstruktor nicht bei Instanzierung aufgerufen werden?
-
Öh?
StringLocalisation ObjectTextLocal = StringLocalisation(/*Parameter*/);
-
Ohne Muse schrieb:
Danke,
aber muss der Konstruktor nicht bei Instanzierung aufgerufen werden?StringLocalisation ObjectTextLocal;Hierbei wird der Standardkonstruktor aufgerufen.