will be initialized after/when initialized here

class A
{
   public:
      int a, b;
      A(): b(0), a(0) {}
};

만약 위와 같은 code를 사용했을 때, gcc에서 다음과 같은 warning이 발생할 수 있다.

warning: ‘A::a’ will be initialized after
warning: when initialized here

class에서 선언한 변수 순서대로 생성자에서 초기화하지 않을 때 발생하는 경고.
선언한 순서대로 초기화를 하면 warning이 발생하지 않는다.

답글 남기기