萌新求助语法
  • 板块学术版
  • 楼主yukimianyan
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/2/6 14:52
  • 上次更新2023/10/28 09:35:56
查看原帖
萌新求助语法
509229
yukimianyan楼主2022/2/6 14:52
#include <cstdio>
using namespace std;
struct A{
    int x,y;
    A():y(-1),x(1){}
};
A a;
int main(){
    printf("%d %d\n",a.x,a.y);
    return 0;
}

这么一个东西输出期望的 1 -1,但它有警告:

/tmp/compiler_obd2u9fn/src: 在构造函数‘A::A()’中:
/tmp/compiler_obd2u9fn/src:4:11: 警告:‘A::y’ will be initialized after [-Wreorder]
    4 |     int x,y;
      |           ^
/tmp/compiler_obd2u9fn/src:4:9: 警告:  ‘int A::x’ [-Wreorder]
    4 |     int x,y;
      |         ^
/tmp/compiler_obd2u9fn/src:5:5: 警告:在此处初始化后被初始化 [-Wreorder]
    5 |     A():y(-1),x(1){}
      |     ^

试了一下,交换 x,y 的位置就没有警告了,那么这个警告是什么意思?忽略它会有什么潜在风险?

2022/2/6 14:52
加载中...