Ich muss in einer QList unterschiedliche (Zeiger) Strukturen verwalten.
Beispiel:
struct A
{
qreal r;
qint8 u;
};
struct B
{
quint16 i;
char c;
};
QList<quintptr*> test;
A* pA= new A;
B* pB= new B;
test.append((quintptr*)pA );
test.append((quintptr*)pB );
test[0](A*)->r= 3.25; // Fehler
test[1]->(B*)i= 11; // auch Fehler
Habe diverse Varianten ausprobiert.
Kann mir jemand auf die Sprünge helfen?
QList: Unterschiedliche Items verwalten (Casts)
Wenn dur dir sicher bist, daß in test[0] ein 'A' enthalten ist:
Wenn du nicht weist, welches Element enthalten ist:
Sollte jetzt kein 'A' enthalten sein, wird halt 0 zurückgeliefert.
Code: Alles auswählen
A *a=static_cast<A*>(test[0]);
Code: Alles auswählen
A *a=dynamic_cast<A*>(test[0]);
-
- Beiträge: 79
- Registriert: 2. Mai 2007 10:21
Re: QList: Unterschiedliche Items verwalten (Casts)
Das müsste doch auch mit QVariant gehen, dann braucht man nicht noch extra boost.
Ginsengelf