반응형
C++을 공부하다가 일반 적으로 사용하던 std::cout << 에서 <<에 빨간 줄이 가면서 error가 발생하는 경우가 있습니다.
다음 코드를 보면
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> m;
m.insert(std::make_pair(1, "hello"));
m.insert(std::make_pair(1, "hi"));
std::cout << m.find(1)->second << std::endl;
}
std::cout << m.find(1)->second 에서 빨간 줄이 발생하며, 마우스를 가져다 보면 이러한 피연산자와 일치하는 "<<" 연산자가 없습니다. 이라는 문구가 나타납니다.
이 문제는 #include <string> 을 추가하면 간단하게 해결 됩니다.
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<int, std::string> m;
m.insert(std::make_pair(1, "hello"));
m.insert(std::make_pair(1, "hi"));
std::cout << m.find(1)->second << std::endl;
}
간단해 보이지만 C++을 처음 공부하는 분들 (지금의 저같이)에게는 많은 시간을 소모하게 하는 부분이라 생각이 드네요.
반응형