求助,#ifndef 不起作用!!!
我的代码如下:
#ifndef XXX_H
#define XXX_H
...
...
...
...
#endif XXX_H
结果有两个C文件包含这个H文件,连接时就说重定义了,说有个已经定义了。
我不相信,就在里面加了一语
#pragma message("XXX_H macro activated!")
结果真打印了两次。。。。
我汗啊。。。。。。。。。
于是我改用#pragma once
还是两次,然后连接时报错。。
#ifndef XXX_H
#define XXX_H
...
...
...
...
#endif XXX_H
结果有两个C文件包含这个H文件,连接时就说重定义了,说有个已经定义了。
我不相信,就在里面加了一语
#pragma message("XXX_H macro activated!")
结果真打印了两次。。。。
我汗啊。。。。。。。。。
于是我改用#pragma once
还是两次,然后连接时报错。。
...全文
相关推荐
#ifdef,#else,#endif和#ifndef的用法
#ifdef,#else,#endif和#ifndef的用法
c语言#ifndef使用方法
c语言#ifndef使用方法,包含三种表达方式
#ifndef #define #endif的用法
#ifndef #define #endif的用法
【C/C++】#ifndef,#define用法
主要是#ifndef和#define的用法说明,并举例说明便于理解。
C语言头文件避免重复包含、#pragma once和#ifndef区别
一般情况下,我们都是把函数声明、类定义、模板定义等写到一个头文件里,需要时将相应的头文件用#include包含到源文件(*.cpp文件)里来。但头文件中又允许包含其它的头文件,这样就难免发生某个头文件被重复地包含。我们可以使用编译预处理命令避免这种情况的发生。


