Error 2501

T

thetank

Hallo

Wenn ich meine MFC exe erstellen möchte bekomme ich folgende Fehlermeldung:

error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_cEngelSpsThread'
error C2501: 'CEngelSpsThreadMaster' : Fehlende Speicherklasse oder Typspezifizierer
error C2501: 'm_cEngelSpsThread' : Fehlende Speicherklasse oder Typspezifizierer

CEngelSpsThreadMaster ist eine von mir in einem .h file definierte Klasse !!

Warum bekomme ich diese Errors und wie kann ich dieses Problem lösen?

Bitte um Hilfe
 
Hi.

Es wäre eine gute Idee gewesen deinen Code hier zu zeigen.

Ich vermute mal du hast in der Headerdatei das abschließende Semikolon nach der Klassendefinition vergessen:
C++:
class A {
} ; // <-- Semikolon!
Gruß
 
Code :

Klasse:

class CEngelSpsThreadMaster
{
public:
CEngelSpsThreadMaster();
~CEngelSpsThreadMaster();


protected:
CString m_strError;
CIniEx m_cIniFile;

CDatabase m_cDb;
CStatement m_cSt;

CSpsThrdMaster m_cSpsThrd;
CEngelSpsThreadMaster m_cEngelSpsThread; //Diese Zeile verursacht den Error
 
Na irgendwie musst du die Klasse mit }; auch wieder zumachen.
Ausserdem ist es nicht so toll, in der Klasse ein Objekt von ihr zu definieren :suspekt:

Weiters bitte [code=cpp][/code] Codetags verwenden
 
Code :

Klasse:

C++:
class CEngelSpsThreadMaster  
{
public:
	CEngelSpsThreadMaster();
	~CEngelSpsThreadMaster();


protected:
	CString m_strError;
	CIniEx m_cIniFile;

	CDatabase m_cDb;
	CStatement m_cSt;

	CSpsThrdMaster m_cSpsThrd;
	CEngelSpsThreadMaster m_cEngelSpsThread;  //Diese Zeile verursacht den Error
Bitte verwende die Code-Tags!

Das kann so nicht funktionieren. Du versuchst eine Klasse zu definieren die ein Attribut derselben Klasse enthält. Das würde eine unendliche Objekt-Hierarchie ergeben falls du wirklich so ein Objekt anlegen könntest.

Du mußt m_cEngelSpsThread als Zeigervariable definieren.

Gruß
 
Das sind zwei verschiedene h.files und auch zwei verschiedene Klassen und natürlich endet die Klasse mit };
möchte jedoch nicht meinen ganzen Code posten, da es speziell nur um diese Problem geht
 
Haben wir doch gesagt: Ein Objekt kann als Member kein Objekt der gleichen Klasse haben.
Das hätte in sich nämlich wieder ein Objekt, dieses in sich wieder...unendlich weiter
 
Das sind zwei verschiedene h.files und auch zwei verschiedene Klassen und natürlich endet die Klasse mit };
möchte jedoch nicht meinen ganzen Code posten, da es speziell nur um diese Problem geht
Es bringt doch nichts wenn du versuchst uns mit deinem Code übers Ohr zu hauen, damit schadest du dir nur selbst weil dir so niemand helfen kann.

Verfasse deine Beiträge sorgfältig. Stelle soviele exakte Informationen wie möglich zur Verfügung. Poste deinen richtigen Code.

Gruß
 

Neue Beiträge

Zurück