声明*C某类::Getdocument();(已声明,不兼容)

连衣 2016-04-27 03:54:24
创建了一个CRightWindow类,基类为CScrollView,在.h文件中如下:
public:
CMy2015Doc* GetDocument(); // error C2143: 语法错误 : 缺少“;”(在“*”的前面)
// error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

在.cpp文件中如下:
CMy2015Doc* CRightWindow::GetDocument() //error C2556: “CMy2015Doc *CRightWindow::GetDocument(void)”:
//重载函数与“int *CRightWindow::GetDocument(void)”只是在返回类型上不同
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMy2015Doc)));
return (CMy2015Doc*)m_pDocument;
}
其他的诸如OnDraw,OnInitialUpdate中均有:
CMy2015Doc* pDoc = GetDocument(); // error C2440: “初始化”: 无法从“int *”转换为“CMy2015Doc *”

提示错误如上。
请问应该怎么改?
...全文
1181 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2016-04-29
  • 打赏
  • 举报
回复
加个前置声明 class CMy2015Doc; 然后在 实现文件中 #include "My2015Doc.h"
小灸舞 版主 2016-04-27
  • 打赏
  • 举报
回复
只有返回值类型不同不能构成重载
连衣 2016-04-27
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
使用强制类型转换?
怎么强制转换呢?
赵4老师 2016-04-27
  • 打赏
  • 举报
回复
使用强制类型转换?

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧