linux编译警告 will be initialized after

这个warning是由于初始化顺序引起的, 
  1. // 会出现warning 的代码!
  2. class cInit
  3. {
  4. public:
  5.     cInit(std::string str, int a) : str_(str), a_(a)
  6.     { }
  7. private:
  8.     int a_;
  9.     std::string str_;
  10. };

 

  1. // OK
  2. class cInit
  3. {
  4. public:
  5.     cInit(std::string str, int a) : str_(str), a_(a)
  6.     { }
  7. private:
  8.     std::string str_;
  9.     int a_;
  10. };
posted @ 2017-08-08 11:16  jiu~  阅读(3220)  评论(0编辑  收藏  举报