函数声明和函数调用注意?

出现这个问题,之后我尝试发现是有关函数调用和声明的问题:

函数LEDInit和LEDdisplay声明放在头文件”public.h"中的头文件“LED.H"中,这样就会出现这个问题。

要是上图直接改成include”LED.H"警告就消失了;

所以是函数声明不能被套在两层头文件里吗?(已勾选c99 mode)

1、C/C++头文件是可以嵌套引用的,即h1引用了h2,则直接引用h1,相当于间接引用h2;

2、C/C++头文件存在包含互斥问题,即通常会在头文件定义的首部添加#ifndef,如下代码段所示:

#ifndef __XX_H__
#define __XX_H__


/* declarations */

#endif

如果,在引用该头文件前定义了宏__XX_H__,或者前面引用的头文件中包含了该宏的定义,则不再引用(展开)该头文件。

上述方法通常是为了防止头文件的重复引用问题;

3、头文件通常都是存放在一定路径下的,因此需要注意你的IDE是否配置该头文件的路径信息;

4、IDE误报问题;

嘿嘿,里面是什么?

你看看这样是不是你说的第二种情况

main:

嵌套第一层:

第二层:

 

奥终于找到了!

是第三张图1、2行改成:

#include _LED_H

#include _LED_H

多谢高人啦!