C++

C++ - bits/stdc++.h 헤더파일에서 unordered_map & set 등 사용하기

마루설아 2025. 1. 22. 08:35

bits/stdc++.h 헤더파일을 추가하여 사용하여도 unordered_map, unordered_set 등을 사용할때는 직접 include를 시켜줘야 했다. 왜 그런가 싶어 헤더파일을 열어보니,

#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif

 

 

???

__cplusplus 가 201103L 이상이어야 한다??

 

그래서 해결방법을 찾았다.

 

Visual Studio에서 프로젝트 - 프로젝트 속성

구성 속성 - C/C++ - 명령줄에 /Zc:__cplusplus 추가

 

아래와 같이 설정해주면 된다.

 

 

참조 문서 : https://learn.microsoft.com/ko-kr/cpp/build/reference/zc-cplusplus?view=msvc-170