我对C中的结构非常新,我尝试使用几个结构和一个主.c文件编写程序。我试图在结构中创建一个Create,它返回一个指向我要处理的主文件的结构的指针。
但是,每次出现以下错误: 预期' =',',',&#39 ;;',' asm'或者' _attribute __'之前' createCust' 客户createCust(...){(在createCust开头的克拉)。
这里是相关的代码片段: customer.h
#ifndef CUSTOMER_H
#define CUSTOMER_H
#include "order.h"
typedef struct customer *Customer;
Customer createCust(...);
void addOrder(...);
#endif
和customer.c:
#include "customer.h"
#include "order.h"
#include <stdio.h>
#include <string.h>
Customer createCust(...);
struct customer {
int customerNum;
char name[20];
order orders[20];
int index;
int capacity;
}
Customer createCust(int id, char nam[]) {
Customer c = malloc(sizeof(struct customer));
// other stuff
return c;
}
尽管在我的文件中包含了order.h,但我还收到了关于订单如何是未知类型的另一个错误。
#ifndef ORDER_H
#define ORDER_H
typedef struct order *Order;
Order create(...);
#endif
答案 0 :(得分:1)
你在结构声明的末尾缺少一个分号,即:
struct customer {
int customerNum;
char name[20];
order orders[20];
int index;
int capacity;
};