-
비주얼스튜디오2010(vs2010) lambda 사용시 주의사항VisualStudio 2020. 2. 11. 12:25반응형
int main() { struct _s { int a; }; []() { _s val; }(); }
vs2010에서 위와 같이 함수 내부에서 정의한 구조체를 람다식에서 사용하는 경우 아래와 같이 컴파일러 오류가 발생한다.
main.cpp(7) : fatal error C1001: An internal error has occurred in the compiler. (compiler file 'msc1.cpp', line 1420) To work around this problem, try simplifying or change the program near the locations loisted above. Please choose the Technical Support command on the Vissual C++ Help menu, or open the Technical Support help file for more informatin
vs2019에서는 오류없이 정상적으로 컴파일이 되는것으로 봐서는 문법적인 문제는 아니고
그냥 vs2010 컴파일러 버그인것 같다.한참을 헤매다 구조체 정의로 인해 버그가 발생하는 것을 알게 되었다.
vs2010에서 사용하려면 아래와 같이 구조체를 밖으로 빼주어야 한다.struct _s { int a; }; int main() { []() { _s val; }(); }
반응형'VisualStudio' 카테고리의 다른 글
vs2010에서 사용할 수 있는 Boost C++ Library 버전 (1) 2020.02.26 VSCode 우분투에서 한글 입력 이상할때... (5) 2018.11.21 LicenseHeaderManager - 소스코드에 라이선스 문구 자동 입력하기 (0) 2017.02.27