我有一个计时器线程和该线程的函数,并且必须将参数 size_t 传递给该函数。
void* global::timer_event::entry_point(void* n)
{
namespace N = global::utils;
struct timeval tv;
size_t* s = (size_t*)n;
N::set_timer(tv, *s);
while(1)
{
if (N::check_timer(tv, *s) == 1)
{
pthread_mutex_lock(&set_queue_mutex);
N::print_queue(q);
pthread_mutex_unlock(&set_queue_mutex);
}
}
}
void global::timer_event::run(size_t n)
{
pthread_create(&m_t, 0, &entry_point, (void*)n);
}
但是程序会 N::set_timer(tv, *s);
在你使用*s时崩溃。如何很好地进行这种转换?