关于编译报警告。
本次是接手一个新手的代码,总共不到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. CSS了一个浮动导航条

    绝对浏览器窗口定位positio:FIXED: 下拉后出现返回顶部按钮 图片是我们美工给做的.55*55px,中间缝隙3px. css: html,body { height:100%}html,bo ...

  2. Your build settings specify a provisioning profile with the UUID “65a1f48d-2fa3-44eb-8142-627d9d4455b1”, however, no such provisioning profile was found.

    Your build settings specify a provisioning profile with the UUID “65a1f48d-2fa3-44eb-8142-627d9d4455 ...

  3. C++ 字符串分割,分割到vector中

    #include <string> #include <vector> using std::string; using std::vector; int splitStrin ...

  4. JavaScript基础知识----零基础js入门练习题

    1,什么是Javascript? 答:Javascipt是一种脚本语言,由web浏览器进行解释和执行.   2,JavaScript是由那几个部分组成?  答:主要分为以下三种:     ECMASc ...

  5. easyui form提交文件(上传图片和文件)

    <div id="dialogBtn"> <a class="easyui-linkbutton" href="#" on ...

  6. Android 使用 intent 实现简单登陆页面

    前言 第一个 Android 程序,应该有些纪念的意义吧~ 主页面布局 给 Button 添加响应函数:android:onClick="login" public void lo ...

  7. LNMP 基于域名的虚拟主机配置 (Centos5.6)

    . . server { listen ; #listen [::]: default_server ipv6only=on; server_name www.blog.com; index inde ...

  8. [LeetCode]题解(python):069-Sqrt(x)

    题目来源: https://leetcode.com/problems/sqrtx/ 题意分析: 实现一个整型的开根. 题目思路: 利用牛顿迭代法可以求解.首先讲数据类型转成浮点数,然后选取初始值为n ...

  9. Lotus Sametime

    编辑 Lotus Sametime属于IBM旗下的Lotus软件,包括一个成熟的协作平台提供商. 外文名 Lotus Sametime 属    于 IBM旗下的Lotus软件 包    括 一个成熟 ...

  10. JavaScript中的鼠标滚轮事件详解

    JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...