Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

string in Klassenmemberstruktur

Empfohlene Antworten

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.)

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.

  • Autor

Hab ich doch, damit ich auf die Variablen zugreifen kann:


[B]struct[/B] {

		int		m_nKey;

		string	m_lpeSName;

		string	m_lpeFName;

		string	m_lpeTel;

		string	m_lpeSG;

		int		m_nCount;

	} [B]m_seMembers[/B];

Oder wo meinst du ?

  • Autor

ok,

ich weiß wie du es meintest:


struct SValues_t {

		int		m_nKey;

		string	m_lpeSName;

		string	m_lpeFName;

		string	m_lpeTel;

		string	m_lpeSG;

		int		m_nCount;

	} m_seMembers;

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.