Mein Code ist wie folgt:Versuch, eine gelöschte Funktion in std zu verwenden :: thread
void internal_listener(TNReceiver *t){
std::string oldVal = "";
while (true) {
void *holder = t+OFFSET;
std::string val = *(std::string *)holder;
if(val == oldVal){
}else{
time_t tine;
std::cout << "[" << time(&tine) << "] : Logger msg recv: " << val;
}
}
}
TNReceiver::TNReceiver(int reg){
this->REGISTER_ID = reg;
}
void TNReceiver::register_to_net(TNNet *net){
net->add_transceiver(new TNData(this->REGISTER_ID, ""));
}
void TNReceiver::start_listen(){
std::thread listen{this};
listen.join();
}
Wie kann ich dieses Problem beheben? Der Fehler ist std::thread listen{this}
. Ich möchte keine "Kopie" von TNReceiver
weitergeben. Jede Lösung wäre großartig!