zoukankan      html  css  js  c++  java
  • 警告:‘xxxx’ 将随后被初始化

    关于编译报警告。
    本次是接手一个新手的代码,总共不到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。报了个警告。
    把构造函数初始化列表中的成员位置按类定义中修改一下,就没有警告啦。

  • 相关阅读:
    HTML5中表单的创建
    防冲撞协议原理实验报告
    yii2.0 Activeform表单部分组件使用方法 [ 2.0 版本 ]
    Yii正则验证
    Yii2用Gii自动生成Module+Model+CRUD
    yii2框架安装运行init.bat报错php.exe不是内部或外部命令
    YII2.0安装教程,数据库配置前后台 [ 2.0 版本 ]
    ignore_user_abort函数制定计划任务
    php 常用的系统函数
    php常用字符串处理函数
  • 原文地址:https://www.cnblogs.com/mfryf/p/4028660.html
Copyright © 2011-2022 走看看