未定义标识符“fDlg”

发布时间:2019-07-29 16:19:21

谁能帮帮孩子把!

 void SystemDlg::OnBnClickedButtonSave()   { 

 // TODO: 在此添加控件通知处理程序代码 

 CFileDialog fD1g(FALSE, "txt","Save", OFN_OVERWRITEPROMPT, "Word文档(*.txt)|*.txt|保存的数据(*.dat)|*.dat|所有文件(*.*)|*.*||",NULL);      

fD1g.DoModal(); //if(fDlg.DoModal()==IDOK);      

 CString sPath = fDlg.GetPathName();       

MessageBox (sPath); 

 //创建文件对象     

CStdioFile file(sPath,CFile::modeWrite|CFile::modeCreate); 

 CString cs;    

 GetDlgItemText(IDC_BUTTON2, cs);  

 //写入操作         

file.WriteString(cs); 

 file.Close(); }

报错结果:

1>------ 已启动生成: 项目: MFCAppTask, 配置: Debug Win32 ------ 1>  SystemDlg.cpp 1>d:\c++语言程序设计实践\mfcapptask\mfcapptask\systemdlg.cpp(69): error C2065: “fDlg”: 未声明的标识符 1>d:\c++语言程序设计实践\mfcapptask\mfcapptask\systemdlg.cpp(69): error C2228: “.GetPathName”的左边必须有类/结构/联合 1>          类型是“'unknown-type'” ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

推荐回答

你的变量定义与使用不一致

一个是 fD1g,一个是fDlg

前面的是数字1,后面是小写的l (L)

看上去像,但不是同一字符,改成一样的就可以了

(定义变量尽量不要用0,o,I,l,1,它们都是不同的)

以上问题属网友观点,不代表本站立场,仅供参考!