0

コンパイルしようとしていますが、エラーが発生します

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()、必要に応じて修正してください。

4

1 に答える 1