std :: unique_ptr als Parameter für die Funktion in std :: thread [duplicate]

8

Ich versuche also, einen std :: unique-Zeiger als Parameter an eine Funktion zu übergeben, die in einem separaten Thread gestartet wird, und ich erhalte bei der Kompilierung einen seltsamen Fehler, der lautet:

%Vor%

Eine vereinfachte Version dieses Codes, die immer noch dasselbe Problem reproduziert, ist:

%Vor%

Meine Vermutung ist, dass etwas mit der Zerstörung des Widget-Objekts aus main () nicht stimmt, aber ich kann das Problem nicht genau lokalisieren. Ist es notwendig, etwas zu tun, um diese Variable zu bereinigen? Übrigens verwende ich VS2013.

    
pabloxrl 23.11.2015, 11:50
quelle

1 Antwort

-1

Sie dürfen keine Kopie von unique_ptr erstellen, daher ist der Kopierkonstruktor deaktiviert. Das zeigt den Compilerfehler.

Sie können es mit einer Referenz beheben:

%Vor%     
Catalin 23.11.2015 12:49
quelle