Ich habe eine unter tcpserver class-Datei. Wenn ich eine Instanz davon in meiner Hauptklasse erstellen und es ausführen bekomme ich Fehler "unaufgelöster Funktionstyp" in boost_group . :: create_thread Funktion ich habe keine Ahnung, was ist der Grund, warum ich Methoden versucht Wechsel zu „const“ aber kein Glück jede Hilfe appriciatedboost :: thread_group :: create_thread (<nicht aufgelöster überladener Funktionstyp> error
void tcpserver::WorkerThread() const
{
printf("test");
// std::cout << "Thread Start\n";
// io_service.run();
// std::cout << "Thread Finish\n";
}
void tcpserver::StartServer() const {
boost::shared_ptr<boost::asio::io_service::work> work(
new boost::asio::io_service::work(io_service)
);
std::cout << "Press [return] to exit." << std::endl;
boost::thread_group worker_threads;
for(int x = 0; x < 4; ++x)
{
worker_threads.create_thread(WorkerThread);
}
std::cin.get();
io_service.stop();
worker_threads.join_all();
}
danke. Lambda-Ausdruck scheint gut zu funktionieren. –
hat den Funktionsaufruf create_thread wie folgt geändert: worker_threads.create_thread ([this] {WorkerThread();}); –