全局类实例构造函数未调用

时间:2017-01-08 17:03:14

标签: c++ class constructor global

Meta.h

class TMeta
{
   // decs here
   TMeta()
   {
      // initialisations
   }
};
extern TMeta Meta;
---------------------------

Meta.cpp

TMeta Meta;

// TMeta fct bodies here
---------------------------

通过上面的设置,我希望能够从包含Meta.h的任何其他.cpp文件中访问Meta。在我的主要表单(包括Meta.h)中,我单击一个调用Meta.SomeMetaFct()的按钮。当调试器进入这个函数时,我发现应该在Meta构造函数中初始化的变量尚未被触及。

我认为所有全局变量都是在主程序执行之前初始化的。这不是全局类变量的情况,还是我错过了什么?我确实查了一些类似的问题,但我没有更聪明。

编辑:我对Meta似乎存在但尚未构建感到疑惑?

答案:我今天收到的一个编译器警告表明它使用的是一个不再有效的meta.obj文件,因此在进行清理和构建之后最终得到了它。谢谢你的回复。

0 个答案:

没有答案