c - 将 pthread_t 传递给函数时出现奇怪的错误

标签 c multithreading pthreads

我有一个 C 头文件,它定义了以下函数:

void my_func(pthread_t tid);

这是由另一个函数定义的:

void my_func(pthread_t tid) {
...

当我编译时,它说:

****.h:2: error: expected specifier-qualifier-list before ‘pthread_t’

知道我做错了什么吗?

最佳答案

您需要#include <pthread.h>在头文件中这样 pthread_t属于 my_func() 的范围原型(prototype)。

没有#include编译器无法识别pthread_t作为一种类型,但它需要在参数之前有一个类型。

错误expected specifier-qualifier-list before ‘pthread_t’就是这么说的。在参数(‘pthread_t’)之前需要一个类型(说明符限定符列表)。

关于c - 将 pthread_t 传递给函数时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698375/

相关文章:

c++ - 确定调用线程正在哪个 CPU 上运行?

c++ - 随机排列单链表的前 N ​​个元素

Linux下获取相机照片的C程序

c - 为什么 Helgrind 显示 "lock order violated"错误消息?

c++ - 在生产者继续之前等待所有异步消费者完成

c - 在 pthread_kill() 中使用 SIGUSR1 和 SIGUSR2 作为信号

c - 维吉尼亚密码C语言

用于传递参数的连续内存

c# - 如何将行写入线程安全的文本文件 - 多线程

c++ - 具有 1 个写入器和 N 个并发读取器的实时数据流