我必须将一个标记数组传递给处理线程创建的函数。为此我使用这个函数可以采用额外的void *aux
参数。将char指针的数组转换为void指针,然后转换回
的功能(仅最后一个参数是有关我的问题):
tid_t
thread_create (const char *name, int priority,
thread_func *function, void *aux);
我用这个数组存储指向字符串标记:
char *argv[];
这是我如何传递该论点(最后一个是相关的):
thread_create (file_name, PRI_DEFAULT, start_process, argv);
但是,当我尝试转回
char *argv[] = aux;
我收到以下消息:
error: invalid initialiser
是否有合格的字符串指针数组通过无效参数的方法吗?
你可能喜欢触摸你的答案,所以我可以撤销我的downvote。 – alk
但是,转换为'char **'不是必需的。 – alk
完成。我觉得自从你指出正确答案之后,你应该得到代表。感谢所有:) – MBlanc