질문드립니다.
int a(1) // direct initialization int a{ 1 } // uniform initialization direct initialization과 uniform initialization는 변수를 처음 선언하고 초기화 하는 과정에서 사용되는 "변수를 초기화 하는 방법" 인데, 위의 예시 대로라면 int a = 1; a{ 3 } // ERROR! a(3) // ERROR! 이런식으로 이미 초기화는 int a = 1; 로 끝마친 상태에서 또다시 initialization 을 시도하려고 해서 문법적인 오류가 발생한것처럼 보이네요. Person dad {0.0, 0.0, 0, “dad”} // dad 를 초기화하면서 값 지정. Family member; member.dad {0.0, 0.0, 0, "dad"}; // 에러발생! member안에서 이미 dad 가 초기화되어있음. 그래서 값을 변경하려면 "=" 을 이용한 대입연산으로만 가능.