首页 > 代码库 > mfc视类中错误:IntelliSense: declaration is incompatible with。。。解决方案
mfc视类中错误:IntelliSense: declaration is incompatible with。。。解决方案
基本情况是我自己写了一个类:
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。。。解决方案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。