Seite 1 von 1

QDataStream enum

Verfasst: 14. November 2011 09:21
von DBGTMaster
Hallo,

wie kann ich den wert eines QDataStreams in einem enum schreiben? Umgekehrter Weg funktioniert...

Kompilierbar:

Code: Alles auswählen

enum enum1 { A, B };
QDataStream s;
enum1 test = A;
s << test;
Nicht kompilierbar:

Code: Alles auswählen

enum enum1 { A, B };
QDataStream s;
enum1 test;
s >> test;
C:\Users\thomas\qt\client-build-desktop\..\client\TcpCommandsHelper.cpp:38: Fehler:no match for 'operator>>' in 'inStream >> data->TcpCommandsHelper::ldapFilter::scope'
enum == int oder?

Re: QDataStream enum

Verfasst: 14. November 2011 10:38
von archer
Ich nehme immer den Umweg über einen Integer

Code: Alles auswählen

enum enum1 { A, B };
QDataStream s;
enum1 test = A;
s << static_cast<int>(test);

Code: Alles auswählen

enum enum1 { A, B };
QDataStream s;
enum1 test;
int  tmp;
s >> tmp;
test = static_cast<enum1>(tmp);

Re: QDataStream enum

Verfasst: 14. November 2011 10:51
von DBGTMaster
Danke, funktioniert so prima :)