在CXXFrame里包含CXXView头文件出错的问题

本文解决了在CXXFrame中因包含CXXView头文件而导致的编译错误问题。错误源于CXXView.h文件中引用了一个未在该头文件中声明的文档类CXXDoc。解决方案是在XXView.h中加入对XXDoc.h的包含。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决 在CXXFrame里包含CXXView头文件出错的问题
在CXXFrame里要调用当视类里的函数就要用到 CXXView *pView = (CXXView *)GetActiveView();
注:多文档中要在CChildFrame中调用
这样就要包含CXXView的头文件。但编译时会提示:
XXView.h(16): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
XXView.h(16): error C2501: “CScribbleView::CScribbleDoc” : 缺少存储类或类型说明符
XXView.h(16): error C2501: “CScribbleView::GetDocument” : 缺少存储类或类型说明符
XXView.h(16): warning C4183: “GetDocument”: 缺少返回类型;假定为返回“int”的成员函数
XXView.cpp(51): error C2065: “CScribbleDoc” : 未声明的标识符
 
这是因为在VC++中头文件是不单独参与便宜的。在XXView.h文件中有一个CXXDoc* GetDocument() const; 但在XXView.h中没有包含XXDoc头文件。但被包含在了XXView.cpp中 所以编译不会出错。但在CXXFrame中包含了XXView.h 编译器就不认CXXDoc了,所以编译会出错。
解决办法1: 把XXDoc.h包含在XXView.h中就可以了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值