本文主要是介绍MFC——error LNK2005: protected: static struct AFX_MSGMAP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
好久没弄VC程序了,今天弄了下,还会用公司给的窗口重绘作为基类来实现,竟然报了这个错误。
找了一下是这里:
有个窗口重绘类是基类:
class CBaseDlg : public CDialog
新建一个对话框类
class CTestDlg: public CBaseDlg
在消息映射的地方:
BEGIN_MESSAGE_MAP(CBaseDlg , CDialog)
//{{AFX_MSG_MAP(CTestDlgDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
报错的就是红色标记的,因为在基类有:
BEGIN_MESSAGE_MAP(CSkinDlg, CDialog)
ON_WM_SIZE()
ON_WM_PAINT()
END_MESSAGE_MAP()
所以重复定义了,应该是:
BEGIN_MESSAGE_MAP(CTestDlg,CBaseDlg )
这是个小问题,不过出错了,不容易找,最主要的是要弄清楚原理前面是派生类,后面是基类。
转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12454469
这篇关于MFC——error LNK2005: protected: static struct AFX_MSGMAP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!