QDataStream enum

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

QDataStream enum

Beitrag 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?
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Re: QDataStream enum

Beitrag 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);
DBGTMaster
Beiträge: 190
Registriert: 19. August 2010 10:00

Re: QDataStream enum

Beitrag von DBGTMaster »

Danke, funktioniert so prima :)
Antworten