본문 바로가기
2023년 이전/C++

C++ ) 이러한 피연산자와 일치하는 "<<" 연산자가 없습니다.

by JeongUPark 2019. 8. 20.
반응형

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++을 처음 공부하는 분들 (지금의 저같이)에게는 많은 시간을 소모하게 하는 부분이라 생각이 드네요.

 

반응형