建了个基于纯对话框的程序,在对话框类MainDlg中定义了public CString A;但在该对话框的弹出对话框NewDlg中用了extern CString也出现LNK2001错误,为什么呢?
8 个解决方案
extern CString是全局的 咋会放到弹出的对话框。
extern不是这样用的。你可以在NewDlg中这样访问A:
MainDlg* mainDlg = (MainDlg*)GetParent();
mainDlg->A
MainDlg中定义了public CString A;
这也叫全局变量?
这不是公共成员变量吗?
正确做法
在MainDlg 的cpp文件中
#include ..
CString A;
在NewDlg 的cpp文件中
#include ...
extern CString A;
搞错了,是CMainDlg,include头文件没C,晕了
包含相关的头文件,在新窗口类中创建一个CMainDlg对象 ,然后通过成员操作符调用其成员变量。
呵呵 不知道有没说错 我稍微测试了一下