InputArgus inputArg;
在jaichaMFCtextDlg.cpp中定义一个
extern InputArgus inputArg;
并在这个文件中取控件里面的值对其进行初始化
并其而要在另一个文件中
testMd.cpp中应用这个变量 inputArg
可能说的有点混乱,不知道是否清楚
但是当我在testMd.cpp引用inputArg中的值时,发现是空的,并不是jaichaMFCtextDlg.cpp中从控件里取到的值,
我对变量的声明定义理解的还不是很透彻,应用有些问题,请各位指教一下
4 个解决方案
#1
检查一下执行顺序,可能是testMd中先执行了,jaichaMFCtextDlg还没来得及初始化
#2
完全不用全局变量对C/C++程序来说是不可能的,但是应该尽量少用或避免使用。可以考虑将这个变量封装为MainForm的直接或间接成员对象,并保证在MainForm的出初始化函数中对其做出始话处理。这样从程序可读性和可维护性角度考虑都是比较好的做法。
#3
恩 ,好的 ,明白啦,谢谢!
#4
.h文件中用extern声明,.cpp文件中定义
#1
检查一下执行顺序,可能是testMd中先执行了,jaichaMFCtextDlg还没来得及初始化
#2
完全不用全局变量对C/C++程序来说是不可能的,但是应该尽量少用或避免使用。可以考虑将这个变量封装为MainForm的直接或间接成员对象,并保证在MainForm的出初始化函数中对其做出始话处理。这样从程序可读性和可维护性角度考虑都是比较好的做法。
#3
恩 ,好的 ,明白啦,谢谢!
#4
.h文件中用extern声明,.cpp文件中定义