boost::thread-Fehler



  • Hallo,

    ich kann folgenden Fehler einfach nicht nachvollziehen:

    boost::thread t (boost::bind(&Nudge::groupEntities, this, i * groupSize));
    

    Compiler schrieb:

    error C2248: "boost::thread::thread": Kein Zugriff auf private Member, dessen Deklaration in der boost::thread-Klasse erfolgte.
    c:\program files\boost\boost_1_51\boost\thread\detail\thread.hpp(120): Siehe Deklaration von 'boost::thread::thread'
    c:\program files\boost\boost_1_51\boost\thread\detail\thread.hpp(116): Siehe Deklaration von 'boost::thread'
    e:\inst\visual studio 2010\vc\include\xmemory(280): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template "void std::allocator<_Ty>::constructboost::thread&(boost::thread *,_Other)".

    Was mache ich falsch?



  • Lass mal das boost::bind weg, sollte laut Google klappen. Sprich einfach boost::thread(&class::method, object, parameter1, parameter2);



  • Der Fehler liegt nicht da, sondern ein paar Zeilen später, wo du den thread in einen Container zu stecken versuchst. boost::thread ist nicht kopierbar.



  • seldon schrieb:

    ein paar Zeilen später, wo du den thread in einen Container zu stecken versuchst.

    Richtig. Danke schon mal. War für mich neu (ist aber auch logisch, wenn man drüber nachdenkt).


Anmelden zum Antworten