Extern指针在不同.cpp文件内不同的赋值。 小弟我在另一个文件调用这个指针,是哪次被赋值的指针的

Extern指针在不同.cpp文件内不同的赋值。 我在另一个文件调用这个指针,是哪次被赋值的指针的?
C/C++ code

在实现文件里声明一个extern的类对象指针//extern CEventView *m_pEventView;
CEventView::public CListView

在ManFrame的.cpp里 m_pEventView = (CEventView*)m_wndSplitter.GetPane(0,0);
在EventView的.cpp里 CEventView::CEventView(){ m_pEventView =this; }
指针在不同.cpp文件内不同的赋值。
我在另一个文件调用这个指针,是哪次被赋值的指针的?




------解决方案--------------------
我的建议是你在工程的app头文件里定义extern CEventView *m_pEventView;
在app的cpp文件里添加CEventView *m_pEventView = NULL;
在CEventView这个类的构造函数里添加代码m_pEventView = this;
这样就可以在其他用了,不存在有没有赋值的问题,为了保险在使用之前可以再判断一下m_pEventView是否为空即可。
------解决方案--------------------
哪条赋值语句离你调用时最近执行,就是使用那个指针,可以通过断点调试查看。
另一般变量的定义是放在cpp文件中。然后extern定义是放在h文件中。需要用到变量就include h文件就行。
LZ你是不是搞反了。
------解决方案--------------------
我记得是MainFrm初始化是在前的,CView属于他的子窗体,在后。所以应该是m_pEventView =this;

不信可以用以断点先后来判断。这个准没错