テトリスのリメイクを設計しており、入力関数と同時に実行されるタイマー関数が必要です。これを達成するためにpthreadsを使用していますが、呼び出しを行うと
pthread_create(&timer, NULL, Timer(), NULL);
ヘッダーにpthread_create()
含まれているにもかかわらず、呼び出しに一致する関数がないというエラーが表示されます。<pthread.h>
別の人がここでほぼ同じ質問をしていることに気付きました。しかし、その人に提案されたことを何もせずに、別のコンピューターで pthread を作成することに成功しました。
以下は、私が問題を抱えているソースコードです。書き直してくださいと言っているわけではありませんが、何が問題なのか教えてください。コードを修正するために調査を行います。
#include <pthread.h>
#include <iostream>
#include <time.h>
void *Timer(void) { //I have tried moving the asterisk to pretty much every
//possible position and with multiple asterisks. Nothing works
time_t time1, time2;
time1 = time(NULL);
while (time2 - time1 <= 1) {
time2 = time(NULL);
}
pthread_exit(NULL);
}
int main() {
pthread_t inputTimer;
pthread_create(&inputTimer, NULL, Timer(), NULL); //Error here
return 0;
}
ありがとうございました