第一个头文件map.h包含如下代码:
#include "stack.h"
int MazePath(Map map,int row,int col,int n,Stack *s); //(2)声明函数
第二个头文件stack.h包含如下代码:
#include "map.h"
typedef struct stack{
int Top,Maxstack;
DATA_TYPE Element[MAXSIZE]; /* 顺序存储堆栈 */
}Stack; //定义Stack类型
虽然stack.h中定义了Stack类型,但是因为编译器在展开stack.h时先包含map.h进来,此时map.h中的Stack尚未定义,于是就出现错误:
expected declaration specifiers or '...' before 'Stack' , 指标号(2)处的代码出错。
我想问如果在头文件相互包含时应该注意什么问题,有什么方法可以解决这种类似的冲突,还有什么书籍资料可以提供阅读参考?
12345678_0001
相关分类