关于编译报警告。
本次是接手一个新手的代码,总共不到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. w3c教程

    http://www.w3cfuns.com/course.php http://www.w3cfuns.com/home.php?mod=space&uid=5434413&do=b ...

  2. Robolectric 探索之路

    layout: post title: Roboletric探索之路,从抗拒到依赖 description: Roboletric Android Unit Testing category: blo ...

  3. c#软件工程师笔试题

    近来有打算重新找工作,还没提离职,投了几家公司简历,其中一家比较中意的公司给发了面试题,其实,好像是好几天前的事了,主要是Gmail邮箱很少用,所以一直都没去看,今天看到题目给解了. 题目如下: 题目 ...

  4. bind和live

    <div> <ul> <li></li> <li></li> <li></li> <li>& ...

  5. ThinkPHP第十九天(Ueditor高亮插件、扩展函数载入load、静态缓存)

    1.使用Ueditor编辑器,插入代码后,显示的时候高亮显示,需要调用Ueditor中的第三方插件third-party中的SyntaxHighlighter 调用方法: 引入CSS和JS文件,并调用 ...

  6. Asp.net 网站发布之文件系统方式

    1.选中项目右键→发布方式选[文件系统]→点击发布 2.打开[Internet 信息服务(IIS)管理器] 默认网站(Default Web Site)→添加应用程序 填写[别名],[物理路径]选择上 ...

  7. yii教程

    http://www.yiichina.com/doc 官网是很好的参考文档

  8. [转]JSon数据解析的四种方式

    转至http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的js ...

  9. Tomcat 中会话超时的相关配置

      QC同事提到似乎有时Tomcat的会话超时表现有问题,记录一下可能用到的配置. 1)超时时间的设定       tomcat的会话超时可以在多个级别上设置:tomcat实例级别.Web应用级别.s ...

  10. 在windows下配置对github的操作--基本操作

    一.下载安装 git for widows软件 git for widows 是专门用来在windows下操作 github的软件,提供bash(命令行) 和 gui两种方式. 在bash下,其实就是 ...