首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

error C2065: 'm_pSerial' : undeclared identifier 错误

2014-01-28 
error C2065: m_pSerial : undeclared identifier 错误:VS2005下,VC++程序。建立的是智能设备MFC应用程序

error C2065: 'm_pSerial' : undeclared identifier 错误:

VS2005下,VC++程序。建立的是智能设备MFC应用程序
我在主对话框(ZML_SerialDlg类)头文件里面有如下定义
public:
// 串口对象指针
CCESeries *m_pSerial;
声明了一个串口对象指针,类型为公用。CCESeries是另外我自己的一个类。

然后我用MFC类向导又建立了一个对话框CDlgFunc类。
在那个对话框里面加了一个按钮。
按钮的单击响应函数如下:
void CDlgFunc::OnBnClickedBtnLed0()
{
// TODO: 在此添加控件通知处理程序代码
BYTE *pSend = NULL; //缓冲区
pSend = new BYTE[1];
*pSend=1;
m_pSerial->WriteSyncPort((BYTE*)pSend,1);
delete[] pSend;
pSend = NULL;
}
CDlgFunc类的头文件加了#include"ZML_SerialDlg.h"
编译,又如下错误
1>.\DlgFunc.cpp(57) : error C2065: 'm_pSerial' : undeclared identifier
为什么? 它说m_pSerial没有定义。但是我添加的ZML_SerialDlg.h头文件
中不是有了
public:
// 串口对象指针
CCESeries *m_pSerial;
这个定义吗?帮我给小弟看一下。多谢。

------解决方法--------------------------------------------------------
类中定义的非静态变量作用域就是这个类

必须通过类的对象来访问相应的变量

lz 定义的 m_pSerial 在 ZML_SerialDlg 类内部

类外无法直接访问这个变量
------解决方法--------------------------------------------------------
从:
public:
CZML_SerialDlg *m_zmlDlg;
主:
CDlgFunc dlgFunc;
dlgFunc.m_zmlDlg = this;
dlgFunc.DoModal();
从:
m_zmlDlg->m_pSerial->WriteSyncPort((BYTE*)pSend,1);

        

热点排行