Zum Inhalt springen

string in Klassenmemberstruktur


TDM

Empfohlene Beiträge

Hallo,

ich habe das Problem, dass ich eine etwas ... "merkwürdige" Fehlermeldung bei folgender Klasse bekomm


class CUser  

{

public:

	BOOL p_bSetSName(const string& p_lpSName);

	void p_save();

	CUser();

	~CUser();

	static CUser* s_p_opagetUsers();	

	static void s_p_setFileProperties(const SFileProperties_t &p_sNewFileProperties);

	static int s_p_ncCountUsers(void);


private:

	void m_writeFName(const string&p_lpKey);

	void m_writeKey(const string&p_lpKey);

	void m_writeSG(const string&p_lpKey);

	void m_writeSName(const string& p_lpKey);

	void m_writeTel(const string&p_lpKey);

	static SFileProperties_t s_m_seFileProperties;

	struct {

		int		m_nKey;

		string	m_lpeSName;

		string	m_lpeFName;

		string	m_lpeTel;

		string	m_lpeSG;

		int		m_nCount;

	} m_seMembers;

};

--------------------Konfiguration: CUser - Win32 Debug--------------------

Kompilierung läuft...

StdAfx.cpp

d:\src\c\w32c\cuser\user.h(37) : error C2639: Vom Compiler angelegter Standardkonstruktor wird von der unbenannten Klasse benoetigt

Fehler beim Ausführen von cl.exe.

Browse-Informationsdatei wird erstellt...

CUser.exe - 1 Fehler, 0 Warnung(en)

Kann mir jemand sagen, woran das liegt, dass ich keine string-Objekte in einer internen Struktur verwenden kann ?

Sobald ich char* nehm, geht es jedenfalls (ich will mir aber die Pointerarbeit ersparen.)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Laut Standard sollte das eigentlich erlaubt sein, vermutlich eine Eigenart des CE-Compilers.

Wenn du in einer namenlosen struct/class Member hast, die einen Standardkonstruktor haben (wie z.B. std::string), dann ist dieser Compiler offenbar nicht in der Lage, einen Kontruktor für diese struct/class zu erstellen, vermutlich, weil der dann (genau wie die struct) keinen Namen hätte.

Gib dem struct-Typ einen Namen, dann sollte es gehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...