VC++中,基于CView的派生类,使用GetDocument()函数,出错了。。本人菜鸟一枚,诚心请教啊。。
在派生类的定义中,添加CEx_SplitMDIDoc*GetDocument();头文件声明为#include"Ex_SplitMDIDoc.h"报错errorLNK20...
在派生类的定义中,添加 CEx_SplitMDIDoc* GetDocument();
头文件声明为 #include "Ex_SplitMDIDoc.h"
报错
error LNK2001: unresolved external symbol "public: class CEx_SplitMDIDoc * __thiscall CCircleView::GetDocument(void)" (?GetDocument@CCircleView@@QAEPAVCEx_SplitMDIDoc@@XZ)
Debug/Ex_SplitMDI.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
如何解决啊。。。本人菜鸟一枚。。 展开
头文件声明为 #include "Ex_SplitMDIDoc.h"
报错
error LNK2001: unresolved external symbol "public: class CEx_SplitMDIDoc * __thiscall CCircleView::GetDocument(void)" (?GetDocument@CCircleView@@QAEPAVCEx_SplitMDIDoc@@XZ)
Debug/Ex_SplitMDI.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
如何解决啊。。。本人菜鸟一枚。。 展开
1个回答
展开全部
CView的派生类.
在 CCircleView.cpp 里,注意头文件的顺序。
#include "Ex_SplitMDIDoc.h" 要放在#include "CircleView.h" 以前。
也就是说,自己类的头文件放在最后,别的头文件往前放。
添加:
CEx_SplitMDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
接下来就可以用 CDoc类的东西了,例如 pDoc->n .....
在 CCircleView.cpp 里,注意头文件的顺序。
#include "Ex_SplitMDIDoc.h" 要放在#include "CircleView.h" 以前。
也就是说,自己类的头文件放在最后,别的头文件往前放。
添加:
CEx_SplitMDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
接下来就可以用 CDoc类的东西了,例如 pDoc->n .....
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询