具有采用结构的函数的头文件中的错误

发布于 2024-11-04 04:11:39 字数 885 浏览 0 评论 0原文

这个标题有什么问题吗? 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

What's wrong with this header? Gcc throws out:

 libmmbox.h:7:29: error: expected ‘)’ before ‘*’ token
 libmmbox.h:8:27: error: expected ‘)’ before ‘*’ token

Here's my code:

#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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2024-11-11 04:11:39

mmbox_stat_t 结构在用于函数签名后声明。因此,当您声明时,编译器仍然不知道这种类型:

int mmbox_stat(mmbox_stat_t *result);

将函数原型放在数据结构定义之后。

mmbox_stat_t struct is declared after it is used into a function signature. So the compiler doesn't still know this type when you declare:

int mmbox_stat(mmbox_stat_t *result);

Put your function prototypes after data structures definition.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文