关于编译报警告。
本次是接手一个新手的代码,总共不到1K行的代码。两个类。编译的时候报的警告,本来也不打算管理这个事情的。要求也不会有那么严格。但上午看完代码后,觉得毕竟是新手写的代码,还是有很多需要修改的地方。当下没事,首先把这个警告处理了。具体编译报的警告如下:

ExtractTaskTool.h:39: 警告:‘ExtractTaskTool::m_objDataContext’ 将随后被初始化
ExtractTaskTool.h:31: 警告: ‘std::string ExtractTaskTool::m_szConfigConnGP’
ExtractTaskTool.cpp:19: 警告: 当在这里初始化时
ExtractTaskTool.h:33: 警告:‘ExtractTaskTool::m_szhost_IP’ 将随后被初始化
ExtractTaskTool.h:32: 警告: ‘std::string ExtractTaskTool::m_szConfigConnORA’
ExtractTaskTool.cpp:19: 警告: 当在这里初始化时
ExtractTaskTool.h:32: 警告:‘ExtractTaskTool::m_szConfigConnORA’ 将随后被初始化
ExtractTaskTool.h:27: 警告: ‘std::string ExtractTaskTool::m_DynaSelect’
ExtractTaskTool.cpp:19: 警告: 当在这里初始化时
ExtractTaskTool.h: In constructor ‘ExtractTaskTool::ExtractTaskTool(const NS_ServiceConst::XMLContext&, const NS_ServiceConst::DataContext&, const char*, const char*, const char*)’:
ExtractTaskTool.h:39: 警告:‘ExtractTaskTool::m_objDataContext’ 将随后被初始化
ExtractTaskTool.h:27: 警告: ‘std::string ExtractTaskTool::m_DynaSelect’
ExtractTaskTool.cpp:40: 警告: 当在这里初始化时

这个警告的意思是说,在成员变量初始化的时候,用的初始化列表进行初始化的时候,初始化列表中成员变量的顺序要和类定义里面成员变量的顺序保持一致。
这个原理在于对于类的成员变量初始化的问题。每个类的成员变量都会在构造函数的时候进行初始化操作,然后我们为了某些需要自己对成员变量进行初始化的时候,我们一般用初始化列表的形势对成员变量进行初始化。这里就有一个要注意的。不管初始化列表中的成员是怎么个顺序排列的,都以类的定义的成员的顺序进行初始化工作。所以我们一般尽量保持初始化列表中的成员变量顺序与类的定义中成员变量的顺序保持一致。如果不保持一致的话,其实有很多编译器也不会报什么的。
在这里我查了一下,我用的g++的编译器,版本号是:gcc-c++-4.1.2-14.el5。报了个警告。
把构造函数初始化列表中的成员位置按类定义中修改一下,就没有警告啦。

警告:‘xxxx’ 将随后被初始化的更多相关文章

  1. Java编程思想学习(五)----第5章:初始化与清理

    随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一. C++引入了构造嚣(constructor)的概念,这是一个在创建对象时被自动调用的特殊方法.Java中也采用了构造器,并 ...

  2. 转-ArcGIS Engine许可初始化

    关于初始化Engine许可的,其实原理都很简单,大家一般都没有问题,但又往往会因为不够细心加上Engine的“小脾气”,让不少程序员都要在这里犯错. 以Engine9.2为例,应用程序是强制初始化许可 ...

  3. C++: 类成员初始化列表语法

      类的成员初始化列表的初始化的基本语法,类的构造函数还可以运用此语法为其变量初始化: class Class { private: int a; int b; char ch; public: Cl ...

  4. Linux内存初始化(一)

    一.前言 一直以来,我都非常着迷于两种电影拍摄手法:一种是慢镜头,将每一个细节全方位的展现给观众.另外一种就是快镜头,多半是反应一个时代的变迁,从非常长的时间段中,截取几个典型的snapshot,合成 ...

  5. mysql数据库二进制初始化出现:170425 17:47:04 [ERROR] /application/mysql//bin/mysqld: unknown option '--skip-locking' 170425 17:47:04 [ERROR] Aborting 解决办法

    [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/application/mysql/ --data ...

  6. Load and Unload

    一.前言 在前一段时间,我遭遇了一个现象诡异的Bug,最后原因归结为在DllMain里错误地调用了FreeLibrary(在本文最后对此Bug有详细的解释). MSDN里关于禁止在DllMain里调用 ...

  7. Mastering MariaDB 神秘的MariaDB 中文翻译版

    是某群的哥们义务翻译的,宣传一下,还没时间时间读,粗滤看了全部翻译完了300多页佩服 https://github.com/CMant/Mastering-MariaDB- 原地址:如果你需要读,请s ...

  8. py-faster-rcnn之从solver文件创建solver对象,建立pythonlayer

    faster-rcnn在训练阶段,根据一个solver的prototxt文件创建相应的网络.仅凭一个prototxt就创建网络?其实还涉及到自定义的PythonLayer. 比如lib/rpn/anc ...

  9. oracle异常(-)

    一.概述异常分成三大类:预定义异常.非预定义异常.自定义异常处理方法分为:直接抛出异常.内部块处理异常.游标处理异常 预定义异常:由PL/SQL定义的异常.由于它们已在standard包中预定义了,因 ...

随机推荐

  1. git版本工具(团队开发常用)

    1.创建一个版本库 mkdir repository    //创建一个文件夹 git init        //把目录编程git可以管理的仓库 2.提交文件到版本库 git add test.tx ...

  2. window.showModalDialog刷新父窗口和本窗口的方法及注意

    window.showModalDialog刷新父窗口和本窗口的方法及注意:   一.刷新父窗口的方法:    A.使用window.returnValue给父窗口传值,然后根据值判断是否刷新. 在w ...

  3. Volley 设置 RetryPolicy 不起作用, 重复提交

    RT, Google后有的说是 将超时时间设置为0, 但是还是会重试提交, 解决方案如下: static HurlStack stack = new HurlStack(){ @Override pr ...

  4. php生成数据字典,代码

    <?php /** * 生成mysql数据字典 */ header("Content-type:text/html;charset=utf-8"); // 配置数据库 $da ...

  5. IM与工作信息流整合

    IM与工作信息流整合,希望减轻用户“信息”负担   从36氪此前的<“明道”现在推出个人免费版本,是怎样的逻辑?>一 文中,我们可以了解到,国内现在的协作产品设计思路主要有两种:一种是像t ...

  6. spss

    编辑 SPSS(Statistical Product and Service Solutions),“统计产品与服务解决方案”软件.最初软件全称为“社会科学统计软件包” (SolutionsStat ...

  7. 帝国cms7.0忘记后台管理账户用户名密码

    最近刚登陆以前的网站,但是发现自己的后台管理用户名密码已经忘记,于是到帝国cms论坛里面找了一下解决方案,成功解决问题.特此分享一下解决成功经验. 原帖地址:http://bbs.phome.net/ ...

  8. java.lang.VerifyError: Inconsistent stackmap frames at branch target

    -XX:-UseSplitVerifier解决. 附带网址:http://stackoverflow.com/questions/12774672/java-7-inconsistent-stackm ...

  9. 从事web前端两年半后的迷茫

    做了两年半的重构,突然有种迷茫的感觉,好像瓶颈了,不知道自己该怎么继续走下去,以前刚毕业的时候,总觉得自己有好多的东西要学在前端方面,所以有那个促使自己去学习的动力,每当没工作任务的时候,自己总是去主 ...

  10. poj 2001 Shortest Prefixes(字典树)

    题目链接:http://poj.org/problem?id=2001 思路分析: 在Trie结点中添加数据域childNum,表示以该字符串为前缀的字符数目: 在创建结点时,路径上的所有除叶子节点以 ...