Du bist neu in der Welt von C++? Dann schau hier herein!
DBGTMaster
Beiträge: 190 Registriert: 19. August 2010 10:00
Beitrag
von DBGTMaster » 14. November 2011 09:21
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
Beitrag
von archer » 14. November 2011 10:38
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);