abstrakte basisklassse aus std queue
-
Moin,
also habe ich mir mit queue<job*> jobqueue einen fifo angelegt.
der job ist abstrakt (virtual=0) und die abgeleitenen jobs werden in queue gepackt.
job *aJob = new jobBLABLA();
jobqueue.push(aJob);Aber wie bekomme ich den aJob wieder
job *tmp = jobqueue.push() -> führt zu "void value not ignored as it ought to be"
irgendwie fehlt mir ja auchder speicher - der müsste ja sogar dyn sein.
ich weiss nicht weiter
mfg
david wal
-
-
bei front compiliert er zwar sauer aber sobald ich auf
den tmp job zugreife -> segmen, fault!!!woran liegt das ?? muss ich erst herausfinden WAS auf der queue liegt und speiocher resevieren?? habe keine ahnung!!!!
job *tmp = jojqueue.front();
std::cout<< tmp->getStatment(); // seg faulteicht komisch!!
-
Hallo
Wenn nichts in der Queue drin ist liefert front() 0 zurück. Außerdem kann queue auch nicht überprüfen ob die Elemente auf gültige Instanten zeigen.
bis bald
akari
-
Mach doch mal ein Minimalbeispiel (<20 Zeilen), das Dein Problem demonstriert. Dann ist es sicher leichter Dir zu helfen.