这个标题有什么问题? Gcc 抛出:
libmmbox.h:7:29: error: expected ‘)’ before ‘*’ token
libmmbox.h:8:27: error: expected ‘)’ before ‘*’ token
这是我的代码:
#ifndef __LIBMMBOX_H__
#define __LIBMMBOX_H__
int mmbox_connect(char *username);
int mmbox_login(int token, char *password);
int mmbox_quit();
int mmbox_stat(mmbox_stat_t *result);
int mmbox_list(mmbox_mail **l, int *num_msg);
int mmbox_send(char *dest, char *obj, void *buf, size_t size);
int mmbox_rcv(int id, void *buf, size_t size);
int mmbox_delete(int id);
int mmbox_resume(int id);
typedef struct
{
char *user;
int used_space;
int free_space;
int num_msg;
} mmbox_stat_t;
typedef struct
{
char *sender, *recipient; /
char *obj, *date;
char flags;
size_t size;
} mmbox_mail;
#endif
最佳答案
mmbox_stat_t 结构在用于函数签名后声明。所以当你声明时编译器仍然不知道这个类型:
int mmbox_stat(mmbox_stat_t *result);
将函数原型(prototype)放在数据结构定义之后。
关于c - 函数采用结构的头文件中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5826342/