11问答网
所有问题
当前搜索:
头文件互相包含解决方法
C++两个
头文件互相包含
对方,编译无法通过怎么办
答:
这是因为头文件只能包含一次,
可以用宏定义来解决这个问题
。在你的Line和Point两个.h文件中分别加入下面的代码://Line.h#ifndef _LINE_H#define _LINE_H// 你自己的代码#endif//---// Point.h#ifndef _POINT_H#define _POINT_H// 你自己的代码#endif 其次,如果是VC,在这两个头文件最开...
C++怎么让两个
头文件相互包含
?
答:
可以通过预处理宏来控制重复包含的问题 如果是模板类,那么类成员函数声明为内联的即可
例如 //A.h #
pragma once
#include "B.h"template<typename T> class B; template<typename T> class A{public:A(B<T>* b=NULL):b_(b){};void SetPtr(B<T>* b){b_ = b;}void CallFuncFromB()...
MFC程序中的
头文件包含
错误
答:
头文件互相包含,肯定会出问题的。有个简单的解决办法,
在头文件里不要包含对方的头文件,而用个类的前向声明就可以了
。比如,在parentdlg.h里,在类CParentDlg的定义前加个类的前向声明:class CChildDlg; //类的前向声明 class CParentDlg : public CDialog //CParentDlg的定义。{ …...
C++中,两个
头文件互相
引用怎么办
答:
两个
头文件相互包含
会导致超前引用的问题,所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数,发生这种情况是无法编译通过的,不过可以采取一些手段
解决
该问题。超前引用导致的错误有以下处理
办法
:使用类声明,在超前引用一个类之前,首先用一个特殊的语句说明该标识符是一个类名,即将被超前...
两个
头文件互相包含
,怎样实现?
答:
C++头文件重复互相包含,假设有两个类A和B,分别定义在各自的有文件A.h和B.h中,但是在A中要用到B,B中也要用到A,代码如下://文件A.h中的代码
#pragma once
#include "B.h" class B; class A { public: B* b; }; //文件B.h中的代码 #pragma once #include "A...
c++ 中如果两个
文件互相包含
,其语法应该是怎样
答:
在A.h里加上class B;或者在B.h里加上class A;这叫做预声明.
关于C++中
头文件
循环
包含
的问题
答:
互相嵌套的情况 在每个h
文件
中 比如 a.h中 有A类 使用B类 b.h中有B类 使用A类。那么 在b.h的最上面 声明A类。class A;就这一句。在a.h中,最上面同样加 class B;这样就不会报错了。不过 最好设计成不
互相包含
的情况。
c文件include自己的
头文件
原因
答:
头文件互相包含
,可能会导致编译时自以为有些宏变量声明了,它就能起作用,但实际测试发现这种
方式
编码后,有些声明的宏没能起到作用。此外,如果头文件过大,职责过多,再加上循环依赖的问题,可能会导致为了在.c中使用而编译时间过长。为了
解决
这个问题,我们需要改变原有的代码编写习惯。应该秉承.c...
vc 中的
头文件相互
引用的错误!
答:
你的问题不是
头文件互相
引用引起的,而是因为yy()这个函数被你定义在了头文件中,把yy放到随便哪个cpp里去,然后在公用的头文件里声明一下应该就可以了 编译没问题就先给分,运行有问题那是程序逻辑的事,需要调试
C++中如何在多个
文件
中使用友元函数?
答:
我的回答:友元函数显然是可以的,但是你说的
头文件相互包含
的问题是可以避免的 你在Book类里面声明Manage类的成员函数为友元函数,因此必然要包含Manage类的头文件,而且你最好使用提前声明,加一句class Manage;你在Manage类里面的函数(声明为友元的函数),可以用的是Book类的声明,也就是只用声明class...
1
2
3
4
5
6
涓嬩竴椤
其他人还搜
引用了头文件但是还是未定义
两个头文件相互包含
函数定义声明都写在头文件
一个头文件有两个源文件定义
头文件相互包含的后果
多个源文件包含同一个头文件
c语言头文件出错
所有变量在使用前都必须初始化
c语言声明函数怎么写