我正在尝试编译但收到错误
error: expected expression before 'void'
warning: passing argument 3 of 'pthread_create' from incompatible pointer type [enabled by default] used [-Wunused-but-set-variable]
我将结构强制转换为 void* 所以它应该可以工作。
在全局变量部分我有
struct threadArgs
{
char** str;
int length;
};
struct threadArgs arguments;
错误周围的线条在这里
arguments.str = str;
arguments.length = linesRead;
for(int i = 0; i < lettersInAlpha; i++)
errCode[i] = pthread_create(&letter[i], NULL, &findMatch, (*void)&arguments);
findMatch 的原型是void findMatch(char **str, const int length);
另外我认为我通过传递数组地址来做正确的事情,对吧?
基本上任何代码都可以更改,因此findMatch()
可以根据需要进行修改。