c语言错误c4430,声明*C某类::Getdocument();(已声明,不兼容)

创建了一个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 *”

提示错误如上。

问一下应该怎么改?

解决方案

10

使用强制类型转换?

20

只有返回值类型不同不能构成重载

20

加个前置声明

class CMy2015Doc;

然后在 实现文件中

#include “My2015Doc.h”

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明声明*C某类::Getdocument();(已声明,不兼容)!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值