Seite 1 von 1
[gelöst]QMutex RecursionMode auf Recursive stellen
Verfasst: 9. Mai 2011 11:02
von woody
Hallo
Ich habe eine Klasse, die als Member ein
besitzt.
Der Compiler sagt immer, dass QMutex::Recursive kein type name ist.
Was mach ich falsch?
danke
Verfasst: 9. Mai 2011 11:17
von franzf
Wenn das SO in der Klassendefinition steht, ist das ein Fehler. Da darfst du nur Member deklarieren, nicht gleich definieren (es gibt Ausnahmen, die hier aber nicht interessieren).
Die Initialisierung erfolgt im Konstruktor, gleich in der Initialisierungssliste.
Verfasst: 9. Mai 2011 11:41
von woody
ok danke für die Antwort. Wahrscheinlich ist das eine dumme Frage, aber wie initialisier ich das dann im Konstruktor, bei Pointern is ja klar mit new, aber wie mach ich das bei einer Member, die am Stack liegt.
Verfasst: 9. Mai 2011 12:37
von franzf
Code: Alles auswählen
class Klasse {
QMutex mutex_;
public:
Klasse()
: mutex_(QMutex::Recursive)
{}
};
Sind aber absolute Grundlagen. Bist du dir sicher, was du mit dem Recursive anstellst?
Verfasst: 9. Mai 2011 12:58
von woody
ok danke, is klar.
ja Recursive bedeutet, dass ein Thread den selben mutex immer wieder locken kann, sofern er dann oft genug einen unlock macht. Zurzeit bin ich dann immer in einen Deadlock geraten.