그냥 일지/2018

C++ 막간 공부

HTS3 2018. 10. 13. 01:51

막간을 이용해 C++ 강의를 들으며 따라했다.


expression list treated as compound expression in mem-initializer

이런 에러가 나왔는데 문제가 된 줄은

Something() : i(1), d(3,14), c('a') : { }

였다.


구글링한 결과 만족할 만한 경우가 별로없었고 잘 되던 구문이 왜 문제 인지 몇분 정도 고민 했는데, 3,14 가 문제였다. 콤마가 아니라 점을 적어야 했는데,,


비쥬얼 스튜디오였으면 잘 잡아줬을 것 같긴 하다.



멤버리스트로 생성를 이용한 초기화를 할 땐

something : i{1} , d{3.4} ,c{'a} 

처럼 () 가 아니라 {}로 받을 수 있다. 다른 점은 {}를 쓰면 형 변환을 막아주어 좀 더 엄격한 선언을 할 수 도 있다.


#

non static 멤버들의 경우 생성자의 초기화를 우선하여 반영된다.