void* cellnet_test(void * args) { struct thread_args *argt = NULL; argt = (struct thread_args*) args; int argc = (int)(argt->argc); printf("2 argc = %d\n", argc); for (int i = 0; i < argc; i++) { printf("2 argv[%d] = %s\n", i, argt->argv[i]); }void* cellnet_test(void * args) { struct thread_args argt = NULL; argt = (struct thread_args) args; int argc = (int)(argt->argc); printf("2 argc = %d\n", argc); for (int i = 0; i < argc; i++) { printf("2 argv[%d] = %s\n", i, 但是cellnet_test中实际args不正确,请指出问题
时间: 2024-01-12 14:03:47 浏览: 28
在`cellnet_test`函数中,参数`args`的类型应该是一个指向`thread_args`结构体的指针,但是在您提供的代码中,`args`的类型是`void *`,这将导致编译错误。因此,需要将`args`转换为一个指向`thread_args`结构体的指针,以便访问其中的成员。正确的代码如下:
```
void* cellnet_test(void * args) {
struct thread_args *argt = NULL;
argt = (struct thread_args*) args;
int argc = (int)(argt->argc);
printf("2 argc = %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("2 argv[%d] = %s\n", i, argt->argv[i]);
}
}
```
这样,`cellnet_test`函数就能够正确地访问`thread_args`结构体中的成员。