0
は私のコードは次のとおりです。試み::スレッド
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();
}
が、私はこれをどのように修正すればよいですか?エラーはstd::thread listen{this}
です。私はTNReceiver
の "コピー"を渡したくありません。どんな解決策も素晴らしいでしょう!