야매!개발

음...나도 stl을 쓰고 싶어서….

stl을 시작했다…

책에 이런 내용이 있어..나도 그대로 해보았다…

나도 그 흥분을 느끼고 싶어~~~


그대로 실행해 보았다.


그런데 왠걸~~!!!


에러만 나온다….


error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::wstring' (or there is no acceptable conversion)


이 내용을 번역해보면….

이런 이런 std::wstring을 어떻게 처리해야 할지 모르겠다는 것 같군요…

뭐지???

a right-hand operand를 처리할 수 있는 operator가 없다고~~!!!


이런 이런 뭐지????


그래서...여기 저기 뒤져보며..이전에 STL을 사용했던 것을 기억해보니…

이전에도 이런 에러가 발생했던 것 같다…


결국  .c_str() 을 string에 붙여야 한다.

자. string 변수에 .c_str()함수를 붙여서 해보겠습니다.

.c_str() 함수를 붙여서 하니….에러없이 아주 잘 작동합니다.^^


자 보이시죠~~!!!!!!

흐...


뭐지...책이 잘못된 것일까????



책이 잘못된것 일까?

gcc는 될지 모르지...확인해보자..

linux gcc에서 말이다.


이렇게 하고 컴파일을 했습니다.

그랬더니….

뭐지~~

리눅스에서는 .c_str()을 붙이지 않아도….잘되네….

뭐지???

윈도우의 컴파일러 버전이 낮아서 그런가???

음… linux의 g++이라는 녀석의 cout에는 string을 처리할 수 있는 operator 가 있는가 보다.


새로운 버전인 Visual Studio 2015를 설치해보자…


그러고 보면….나는 아직도 string이라는 녀석을 모린다.


STL의 string말이다……


Visual Studio 2015를 웹으로 받아 설치하는데 시간이 조금 거리네요^^

그래서 이전에 노트북에 설치해 놓았던 Visual Studio 2013으로 테스트 해 보았습니다.


그랬더니~~!!!


해 보았더니~~!

에러가 발생하지 않네요….

잘되네요~~

그렇다면 결론은 Compiler 버전이 낮아서 발생한 문제였는가 보네요…

성공한 그림입니다. “test”라고 잘 찍혔습니다….


c_str()함수를 붙여야 했던 Visual Studio Version은 2008(9.0 Version)이였습니다.


그리고, .c_str()을 붙이지 않아도 됐던 Visual Studio Version은…2013(12.0)이였습니다.


음. 아무튼 최신 C++에서는 붙이지 않아도 되는 것 같습니다.

오늘은 여기끼자..

다음에는 string에 대해서 좀더 자세히 뜯어 먹어봅시다.

다들 추석 명절 잘 보내세요~~!


추석 명절에도 저에게 블로깅 할 수 있는 기회가 생길기 모르겠습니다.

주님께 기도해보겠습니다.

할렐루야~~!









0 0