Zum Inhalt springen

Erstellt typedef const Objekte ? O.o


TDM

Empfohlene Beiträge

Hallo,

ich habe das Problem, dass ich ein Element einer Memberstruktur verändern möchte diese aber außerhalb der Klasse definiert habe:

typedef struct STime {

	ETime_t p_eeTimeType;

	CTime p_oeStartDate;

	CTime p_oeStartTime;

	CTime p_oeEndDate;

	CTime p_oeEndTime;

} STime_t;
Klassendeklaration:
class CZeit  

{

public:

	BOOL p_bSetStartTime(const CTime& p_oNewStartTime) const;

	BOOL p_bSetStartDate(const CTime& p_oNewStartDate) const;

	BOOL p_bSetEndTime(const CTime& p_oNewEndTime) const;

	BOOL p_bSetEndDate(const CTime& p_oNewEndDate) const;

	CZeit();

	virtual ~CZeit();


protected:


private:

	STime_t m_seMembers;

};
So, jetzt würd ich gern Funktionen schreiben wie ich die Elemente der Struktur verändern kann:
BOOL CZeit:_bSetStartTime(const CTime& p_oNewStartTime) const

{

	auto BOOL a_bResult = (this -> m_seMembers.p_oeStartTime != p_oNewStartTime);

	if (a_bResult)

	{

		this -> m_seMembers.p_oeStartTime = p_oNewStartTime;

	}

	return a_bResult;

}[/code]

Problem an dem ganzen ist nur, dass mir mein Compiler (VS 6.0) immer 4 Fehler bringt (da 4 mal die gleichen Funktionen):

error C2678: Binaerer Operator '=' : Kein Operator definiert, der einen linksseitigen Operator vom Typ 'const class CTime' akzeptiert (oder keine geeignete Konvertierung moeglich)

Woran liegt das jetzt?

Ich hab in anderen Klassen schon strukturen als Member verwendet und da gehts jedenfalls.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist meiner Meinung eine Instanziierung einer Struktur -> Strukturobjekt.

Gehört als Membervariable trotzdem vollständig zu dem Objekt, genau wie es auch Membervariablen der Typen int, char, usw. täten.

auto, static, extern und register schreib ich immer mit damit ich seh wozu eine variable gehört.

Die Angabe von auto ist überflüssig, denn wenn keine andere storage class angegeben wird, ist es eben implizit diese. Daher schreibt auch fast niemand auto explizit hin.

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