头文件可以相互包含的吗?就是
在CMainFrame中#include "CChildFrame.h"
在CChildFrame中#include "CMainFrame.h"
我试了下,可以相互包含头文件。这样不会有什么异常出现吗?
10 个解决方案
#1
不会,有#prama once 表示只编译一次
#2
如果头文件中没什么公共变量的话(或者结构体定义)是可以的,否则会出现类型重定义错误
一般建议用
#ifndef xxxx
#define xxxx
#endif
来包括头文件定义,防止类型重定义
一般建议用
#ifndef xxxx
#define xxxx
#endif
来包括头文件定义,防止类型重定义
#3
可以采用预编译指令防止重复定义的问题
#4
因为是需要在CMainFrame中调用CChildFrame中的函数。
在CChildFrame中调用CMainFrame中的函数。。。
这样是允许的吗?什么情况下会出异常吗?谢谢前辈
在CChildFrame中调用CMainFrame中的函数。。。
这样是允许的吗?什么情况下会出异常吗?谢谢前辈
#5
允许啊,没什么问题
#6
最好不要用互包含这种方式
#7
不要这么用
#8
晕,那要怎么办哪。
是在CMainFrame中#include "CChildFrame.h"
还是在CChildFrame中#include "CMainFrame.h"
哪种更好一些?谢谢!
#9
可以互相包含!
#include "B.h" class A;
class A class B
{ {
.... ....
} }
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
#include "B.h" class A;
class A class B
{ {
.... ....
} }
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
#10
刚才那个发的有点问题,重发!!!
可以互相包含!
#include "B.h"
class A
{
...
}
class A;
class B
{
...
}
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
可以互相包含!
#include "B.h"
class A
{
...
}
class A;
class B
{
...
}
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
#1
不会,有#prama once 表示只编译一次
#2
如果头文件中没什么公共变量的话(或者结构体定义)是可以的,否则会出现类型重定义错误
一般建议用
#ifndef xxxx
#define xxxx
#endif
来包括头文件定义,防止类型重定义
一般建议用
#ifndef xxxx
#define xxxx
#endif
来包括头文件定义,防止类型重定义
#3
可以采用预编译指令防止重复定义的问题
#4
因为是需要在CMainFrame中调用CChildFrame中的函数。
在CChildFrame中调用CMainFrame中的函数。。。
这样是允许的吗?什么情况下会出异常吗?谢谢前辈
在CChildFrame中调用CMainFrame中的函数。。。
这样是允许的吗?什么情况下会出异常吗?谢谢前辈
#5
允许啊,没什么问题
#6
最好不要用互包含这种方式
#7
不要这么用
#8
晕,那要怎么办哪。
是在CMainFrame中#include "CChildFrame.h"
还是在CChildFrame中#include "CMainFrame.h"
哪种更好一些?谢谢!
#9
可以互相包含!
#include "B.h" class A;
class A class B
{ {
.... ....
} }
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
#include "B.h" class A;
class A class B
{ {
.... ....
} }
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
#10
刚才那个发的有点问题,重发!!!
可以互相包含!
#include "B.h"
class A
{
...
}
class A;
class B
{
...
}
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!
可以互相包含!
#include "B.h"
class A
{
...
}
class A;
class B
{
...
}
然后在class B的B.cpp文件中再 #include "A.h"
这样就OK了
我这么用了很多次,没有问题!