建立了一个单文档的基类为CFormView的MFC工程,该工程名为Test。
FormView上放了1个Edit控件,2个Button控件。其ID分别为IDC_EDIT_Display、IDC_BUTTON_Input、IDC_BUTTON_Display。
Edit控件关联一个CEdit型变量m_edit_Display。
布置如下图。
然后添加一个Dialog资源,将其ID改为IDD_DIALOG_Input。右击该Dialog后,添加类,类名为CInput。再在其上放一个Edit控件,其ID为IDC_EDIT_Input,关联一个CEdit变量m_edit_Input。如下图:
回到FormView,双击Button控件IDC_BUTTON_Input,进入TestView.cpp,在其中加上#include "input.h"。在Button点击事件中加入如下语句:
void CTestView::OnBnClickedButtonInput()
{
// TODO: 在此添加控件通知处理程序代码
CInput dlg;
dlg.DoModal();
dlg.m_edit_Input;
m_edit_Display = dlg.m_edit_Input;
}
此时,发生编译错误:
1>c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afxwin.h(1977): error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afx.h(561) : 参见“CObject::operator =”的声明
1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afx.h(535) : 参见“CObject”的声明
1> 此诊断出现在编译器生成的函数“CCmdTarget &CCmdTarget::operator =(const CCmdTarget &)”中
但如果把最后一句注释掉,如下,则编译正确,没有问题。
void CTestView::OnBnClickedButtonInput()
{
// TODO: 在此添加控件通知处理程序代码
CInput dlg;
dlg.DoModal();
dlg.m_edit_Input;
// m_edit_Display = dlg.m_edit_Input;
}
请教大神,这个问题是什么原因,该如何修改?
谢谢。