invalid conversion from ‘pthread_t {aka long unsigned int}’ to ‘pthread_t* {aka long unsigned int*}’是怎么回事
时间: 2024-03-06 13:46:41 浏览: 243
VCCString-int-string-char.txt.rar_conversion_vc string
这个错误通常发生在将一个 pthread_t 类型的值赋值给一个 pthread_t 指针的时候。pthread_t 是一个不透明的数据类型,实际上是一个整数,而不是一个指针类型。因此,将 pthread_t 类型的值直接赋值给 pthread_t 指针是错误的。
举个例子,如果有如下代码:
```
pthread_t tid;
pthread_create(&tid, NULL, thread_func, NULL);
pthread_join(tid, NULL);
```
上述代码中,pthread_create() 函数的第一个参数是一个指向 pthread_t 类型变量的指针,而不是 pthread_t 类型本身。因此,如果将上述代码中的 &tid 改为 tid,就会出现上述错误。
你需要将代码中的指针类型改为非指针类型,或者将指针类型的变量改为指针类型的指针。
阅读全文