tuple 사용
#include <tuple>
본래 C++에서 tuple을 사용하려면 위의 헤더만 하나 추가해 주면 된다.
그런데 오늘 VScode로 백준 문제를 풀고 있는데 글쎄
error: use of undeclared identifier ‘tuple’
오류가 발생하며 안되는게 아닌가
스택오버플로우를 보니
#include <string>
을 추가하면 된다고 해서 해봤더니 당연히 안됐다.
tuple 오류 발생 이유
알고보니 컴파일러의 문제였는데
tuple은 c++ 11부터 들어온 문법이었다.
나는 지금까지 g++로 사용을 하고 있었는데
std::cout << "__cplusplus = " << __cplusplus << std::endl;
위의 명령어를 통해 g++ 이 어떤 버전을 사용하고 있는지 확인해보니
199711 즉 C++ 98 버전으로 컴파일을 하고 있었다!
그러니 당연히 안되지 ㅎ
tuple 오류 해결 방법
컴파일을 C++ 11버전으로 해주면 된다.
맨뒤에 -std=c++11 만 붙여주면 C++ 11 버전으로 컴파일 완료!
g++ a.cpp -std=c++11
그럼 오류없이 잘된다.