MFC 在框架类中调用视图类:未声明的标识符,求解!解决办法
MFC 在框架类中调用视图类:未声明的标识符,求解!
在框架类中一个菜单响应函数
void CMainFrame::OnSendAsk()
{
CDeskView *view = (CLongDeskView *)this->GetActiveView();
int pos = view->GetInt();
}
头文件包含和类声明我均加过了
在CMainFrame类头文件中加了 class CDeskView;的类声明;
在CDeskView 类源文件中加了#include"MainFrm.h" 和 class CmainFrame;
但是在上面的那个菜单响应函数中如何是这样的话
void CMainFrame::OnSendAsk()
{
CDeskView *view = (CLongDeskView *)this->GetActiveView();
}
可以正确编译,并且运行的时候得到的view是正确的
但是一调用view 就会报错。
------解决方案--------------------
那你就调试进去,在错误的地方看看Call Stack(调用堆栈),看都走了那些函数,最后执行的是哪个函数,定位到错误位置
------解决方案--------------------
你上面不是说一运行到view就报错吗?到底什么错,如果是编译错误你总得将出错信息贴出来吧
------解决方案--------------------
//。。。。。。。
可以正确编译,并且运行的时候得到的view是正确的
但是一调用view 就会报错。

------解决方案--------------------
在MainFrame.cpp文件的
#include <stdafx.h>下面加上以下语句
#include "LongDeskView.h"
在框架类中一个菜单响应函数
void CMainFrame::OnSendAsk()
{
CDeskView *view = (CLongDeskView *)this->GetActiveView();
int pos = view->GetInt();
}
头文件包含和类声明我均加过了
在CMainFrame类头文件中加了 class CDeskView;的类声明;
在CDeskView 类源文件中加了#include"MainFrm.h" 和 class CmainFrame;
但是在上面的那个菜单响应函数中如何是这样的话
void CMainFrame::OnSendAsk()
{
CDeskView *view = (CLongDeskView *)this->GetActiveView();
}
可以正确编译,并且运行的时候得到的view是正确的
但是一调用view 就会报错。
------解决方案--------------------
那你就调试进去,在错误的地方看看Call Stack(调用堆栈),看都走了那些函数,最后执行的是哪个函数,定位到错误位置
------解决方案--------------------
你上面不是说一运行到view就报错吗?到底什么错,如果是编译错误你总得将出错信息贴出来吧
------解决方案--------------------
//。。。。。。。
可以正确编译,并且运行的时候得到的view是正确的
但是一调用view 就会报错。
------解决方案--------------------
在MainFrame.cpp文件的
#include <stdafx.h>下面加上以下语句
#include "LongDeskView.h"