我有一个C头文件,它定义了以下函数:
void my_func(pthread_t tid);
这由另一个函数定义:
void my_func(pthread_t tid) {
...
当我编译时,它说:
****.h:2: error: expected specifier-qualifier-list before ‘pthread_t’
任何想法我做错了什么?
答案 0 :(得分:6)
您需要在标头文件中#include <pthread.h>
,以便pthread_t
适用于my_func()
原型。
如果没有#include
,编译器就不会将pthread_t
识别为类型,但它在参数之前需要一个类型。
错误expected specifier-qualifier-list before ‘pthread_t’
正是这样说的。在参数('pthread_t')之前需要一个类型(specifier-qualifier-list)。