Visual studio를 사용하면서 공부하던 중 <numeric> 헤더의 gcd,lcm 함수를 호출했을 때 정의되지 않은 함수라는 오류가 발생했다.
알고 보니 gcd,lcm함수는 C++17부터 추가된 함수고, Visual Studio의 기본 C++ 버전 설정이 낮아서 발생한 문제였다. Visual Studio는 버전에 따라 기본 제공되는 C++ 표준이 다르다고 한다.
- VS 2019: 기본적으로 C++11 사용
- VS 2022: 기본적으로 C++14 사용
내가 사용하는 환경은 Visual Studio 22였고, 기본 C++ 버전이 C++14로 설정되어 있어서 gcd와 lcm을 사용할 수 없었던 것이다.그럼 문제를 파악했으니 버전을 변경해보자.
기본버전일때
C++버전 변경 방법
프로젝트 -> 속성 -> C/C++ -> C++언어 표준 ->원하는 버전 선택
마지막에 있는 /std:c++latest는 c++의 가장 최신버전이라고 한다.
버전 변경 후
정상 작동되는것을 확인 할 수 있다.
'C++' 카테고리의 다른 글
C++의 컴파일 과정 (1) | 2025.02.05 |
---|