大致情况是这样的,一个比较大的程序,很多头文件,其中有两个比如a.h和b.h,两个头文件都包含了另一个头文件,比如a.h部分如下:
#ifndef A_H
#define A_H
#include "b.h"
type struct
{...
}SS;
....
b.h部分:
#ifndef B_H
#define B_H
#include "a.h"
void aa(SS dd); //一个函数的声明
....
编译后就显示b.h里的SS没定义,一定要把结构体定义放到b.h里才能声明此函数。但是如果没有那个函数声明的话,包含了b.h的文件还是可以用SS这个类型的。
这里有语法问题吗,我后来单独建了一个工程试验一下就这两个头文件貌似又没问题。。。 |