一个很奇怪的由于全局变量出现的问题
项目中有三个文件,一个是Main.cpp,一个Login.cpp,一个public.h
(Main和Login是两个窗体)
public.h中定义了几个全局变量:
#include <string>
#include <vector>
using std::string;
using std::vector;
vector<CTest*> xLst;
在Main.h和Login.h中都分别加了#include "public.h"语句,并都用extern声明了以上几个全局变量。
在Login中,调用xLst的push_back往里添加对象指针,添加成功,在Login中访问xLst中的元素,无任何问题
而通过Login的窗口创建Main之后,在Main中可以正常访问xLst,但显示里面没有元素。。而内存地址和Login中的xLst内存地址是一样的,说明访问的是全局对象。。请问这是怎么回事。。