프로그래밍/C C++

gcc와 msvc에서 range-based for loop(범위 기반 반복문)사용의 주의점.

Chaed 2018. 5. 22. 14:52


얼마전부터 예전에 만든 프로젝트를 리팩토링하려 


리눅스 환경에서 gcc를 이용해 프로젝트를 컴파일 하려는데 for each문에서 syntex error가 났습니다.


문제되던 해당 소스는 visual studio 2015(c++14) 에서 작성한 소스 였는데 


c++을 지원하는 gcc6 에서 에러가 나는것입니다.


처음에는 ide로 사용하는 eclipse cdt 에서 c++11를 제대로 못찾는건가 싶어서


몇일을 삽질하였는데 알고보니 다음과 같은 문제였습니다.


https://stackoverflow.com/questions/22836277/what-is-the-difference-between-for-each-in-and-for



for each문은 msvc에서 가능한 문이며 호환성을 위해서는 for를 사용하되 :를 이용해야 하는것이였습니다


(자바처럼)



황당하지만 새로운것을 또 알았네요...