Methode aus einem struct in eine Klasse.... :D
-
akari schrieb:
Hallo
definiert ist es ja schon, du willst sicher wissen wie du es implementierst
void CAppData::IPlayback::SetPaused(bool fPause) { ... }bis bald
akarihmm jetzt setz mal bitte das 'fInit' aus der Klasse auf 'fInit' aus dem Methodenparam. ....
das geht nit
-
Hallo
hmm jetzt setz mal bitte das 'fInit' aus der Klasse auf 'fInit' aus dem Methodenparam
Versteh ich nicht.Mein Code ansich läuft.
Allerdings hast du hier noch einen Fehler
struct IPlayback { ... } IPlayback;Das zweite IPlayback must du weglassen.
bis bald
akari
-
struct IPlaybackData { bool fPaused; // Wiedergabe pausiert ?? <<<<<<<<<<<DAS_HIER!!!!!!!! bool fInit; // Mediendatei geladen ? bool fMute; // Lautstärke gemutet ? unsigned int uiVol; // Lautstärke Wert bool fRepeat; // Wiederholen (Repeat-Mode)? ERepeatModes rpRepMode; // Wiederholungsmodus (RPM-ENUM) } IPlaybackData;setz mal das markierte element (fPaused) auf den Parameter den ich den Methode (fPause) übergeben...(sry hab mich grad vertippt^^) ...Oder anders: Implementier mal die Methode vollständig
...das hab ich nämlich nit hinbekommen 
ALSO:
void CAppData::IPlayback::SetPaused(bool fPause) { // hier fehlt ja noch was...das funzt bei mir nie ... // ''(this)'fPaused' = fPause; }
-
Hallo
SetPaused(bool fPause) ist ein Element von IPlayback, fPaused hingegen gehört zu IPlaybackData. Da es zwischen diesen beiden Definitionen keine Verbindung gibt kannst du auch von dem einem zu dem andern keine Übergabe machen.
Und ich sag nochmal das so eine Definition entweder überflüssig oder falsch ist!
struct IPlayback { ... } IPlayback;bis bald
akari
-
akari schrieb:
Hallo
SetPaused(bool fPause) ist ein Element von IPlayback, fPaused hingegen gehört zu IPlaybackData. Da es zwischen diesen beiden Definitionen keine Verbindung gibt kannst du auch von dem einem zu dem andern keine Übergabe machen.
Und ich sag nochmal das so eine Definition entweder überflüssig oder falsch ist!
struct IPlayback { ... } IPlayback;bis bald
akarijaja den Bug hab ich ja gecheckt...also gibbet das keine Möglichkeit auf die Daten zuzugreifen bzw. diese zu verändern ?
-
Hallo
IPlayback bräuchte eine Referenz auf IPlaybackData, dann könntest du von IPlayback aus die Daten von IPlaybackData ändern.
Allerdings halte ich die Unterteilung eh für Unsinn (genau aus diesem Grund). Attribute und die dazugehörigen Getter/Setter sollten in einer gemeinsamen Klasse sein.
bis bald
akari
-
Ok, verstehe ...dann nochmal vielen Dank!

-
akari schrieb:
Und ich sag nochmal das so eine Definition entweder überflüssig oder falsch ist!
struct IPlayback { ... } IPlayback;es ist nicht falsch, allerdings in meinen augen schlechter stil. es ist in C++ legal, einen namen im selben scope für einen klassen- oder enum-namen zu verwenden, als auch für ein objekt, eine funktion oder eine aufzählungskonstante. hier wird also ein struct mit IPlayback definiert und dann ein member vom typ IPlayback mit dem namen IPlayback deklariert. der name der membervariable verdeckt anschließend den namen des typs.
-
der name der membervariable verdeckt anschließend den namen des typs.
jo so isses...
Aber ne Lösung für mein Problem -oben beschrieben- hast du auch nicht oder ?
-
Sturkurklasse schrieb:
der name der membervariable verdeckt anschließend den namen des typs.
jo so isses...
Aber ne Lösung für mein Problem -oben beschrieben- hast du auch nicht oder ?
mach IPlaybackData member von IPlayback - das ist nur logisch.
-
dann meckert er wg. neu definition...aber danke :p