-1
我有一个功能,可以让我设置一些void *user_data
里面我是用存储一个指向struct job_data
定义为:铸造空指针结构指针不返回内部结构正确的指针
struct job_data {
int *i
struct *j;
}
它确实这通过允许我将指针传递给user_data设置函数通过调用,所以如果我得到struct job_data job_info
,我会通过set_user_data(&job_info)
设置它,其中* set_user_data *收到void *
作为参数。
然而,当我把我的指针回来后,并通过struct job_data *job=user_data
投吧,里面的指针(工作。我和job.j)在原始job_data结构设置为不同的三分球比我已经投射到void *
。这是为什么?我应该采取什么不同的方式来重新捕获我的原始指针i和j指针?
请发布您的功能的简化版本,以及如何调用它。 – zmbq
并指定原始'job_info'的声明方式和位置, – Jack
最有可能:当您检索指针时,堆栈中'struct job_data job_info'分配的作用域不再存在。 –