Problem mit vector<int> und QList<CVector>
Verfasst: 28. Juli 2008 14:17
Hallo Forum,
ich habe eine Klasse CVector.h, die einen vector enthält:
In einer anderen Klasse rufe ich folgenden Code auf:
Ich lege mir ein Objekt vom Typ CVector auf dem Stack an. Dieses Objekt enthält einen vector<int>, den ich in der Header-Datei der Klasse CVector (und nur dort) definiert habe.
Ich kann nun in dieses Objekt mittels push_back Werte reinfüllen. vorher liefert mir 1. Sobald ich dieses Objekt jedoch mittels append an eine QList<CVector> m_listOfVertices anhänge und dieses wieder abhole, ist der vector leer. nachher liefert mir 0. Wie kann das sein?
Versuche, das ganze auf dem Heap mittels new CVector anzulegen, haben das Problem auch nicht beseitigen können.
Was mache ich falsch?
ich habe eine Klasse CVector.h, die einen vector enthält:
Code: Alles auswählen
[...]
public:
vector<int> listOfScatterPoints;
[...]Code: Alles auswählen
CVector* pMeinHeapTestVektor = new CVector();
pMeinHeapTestVektor->listOfScatterPoints.push_back(1);
int vorher = (int) pMeinHeapTestVektor->listOfScatterPoints.size();
m_listOfVertices.append(*pMeinHeapTestVektor);
CVector CVectorAusDerListe = m_listOfVertices.at(m_listOfVertices.count()-1);
int nachher = (int) CVectorAusDerListe.listOfScatterPoints.size();
Ich kann nun in dieses Objekt mittels push_back Werte reinfüllen. vorher liefert mir 1. Sobald ich dieses Objekt jedoch mittels append an eine QList<CVector> m_listOfVertices anhänge und dieses wieder abhole, ist der vector leer. nachher liefert mir 0. Wie kann das sein?
Versuche, das ganze auf dem Heap mittels new CVector anzulegen, haben das Problem auch nicht beseitigen können.
Was mache ich falsch?