void *wait(void *t){
long tid;
tid = (long )t;
sleep(1);
cout << "Sleeping in thread " << endl;
cout << "Thread with id : " << tid << " ...exiting " << endl;
pthread_exit(NULL);
return 0;
}
运行以上代码时出现
cast from ‘void*’ to ‘long int’ loses precision [-fpermissive]
改为这样就好,用更大的接收,就不会有精度丢失异常。还可以用long long long来接收
void *wait(void *t) {
long long tid;
tid = (long long)t;
sleep(1);
cout << "Sleeping in thread " << endl;
cout << "Thread with id : " << tid << " ...exiting " << endl;
pthread_exit(NULL);
return 0;
}