码迷,mamicode.com
首页 > 编程语言 > 详细

mfc视类中错误:IntelliSense: declaration is incompatible with。。。解决方案

时间:2017-03-28 21:54:15      阅读:463      评论:0      收藏:0      [点我收藏+]

标签:declare   com   topic   lis   错误   没有   studio   clu   image   

基本情况是我自己写了一个类:

class CDib

{。。。。}

然后在mfc自动生成的“工程名Dlg.cpp”中使用类CDib,我的工程名是MfcPictureProcessing,所以类是class CMfcPictureProcessingDlg,下面是视图类.h文件里:

class CMfcPictureProcessingDlg: public CDialogEx

{

。。。

CDib *Dlgdib;

CPalette* CreateBitmapPalette(CDib *pBitmap);

。。。

}

然后在.cpp中具体实现:

CPalette* CMfcPictureProcessingDlg::CreateBitmapPalette(CDib* pBitmap)

{

。。。。

Dlgdib....

}

这时候出现的问题是:

IntelliSense: declaration is incompatible with "CPalette *CMfcPictureProcessingDlg::CreateBitmapPalette(<error-type> *pBitmap)" (declared at line 24 of "e:\visual_studio_workplace\mfcpictureprocessing\mfcpictureprocessing\MfcPictureProcessingDlg.h")
 
error C2061: syntax error : identifier ‘CDib‘ e:\visual_studio_workplace\mfcpictureprocessing\mfcpictureprocessing\mfcpictureprocessingdlg.h
等等好多无厘头问题十几个
 
解决方法是在"工程名Dlg.h"中添加一句话:
class CDib;
这样在试图类文件中include这个类,然后用的的时候就不会出问题了。
 
总结:一般类目前还没有看到出问题的,只是在mfc视图类中使用自己定义的类时会出现,不管是作为函数的参数,还是单独实例化都会有问题,加上这句强制声明就没问题了~但是这个问题我搞了一天才明白
参考链接:
http://bbs.csdn.net/topics/391942352 解决了以后才看懂这个最后一个
技术分享

mfc视类中错误:IntelliSense: declaration is incompatible with。。。解决方案

标签:declare   com   topic   lis   错误   没有   studio   clu   image   

原文地址:http://www.cnblogs.com/studylyn/p/6636764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!