Ошибки в заголовочном файле с функциями, принимающими структуры - PullRequest
0 голосов
/ 29 апреля 2011

Что не так с этим заголовком? 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

1 Ответ

6 голосов
/ 29 апреля 2011

Структура mmbox_stat_t объявляется после использования в сигнатуре функции. Таким образом, компилятор все еще не знает этот тип, когда вы объявляете:

int mmbox_stat(mmbox_stat_t *result);

Поместите прототипы вашей функции после определения структур данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...