int i = 5;
std::string s = std::to_string(i);
int를 string으로 변환해주는 함수인 to_string 함수를 사용하려고 보니
error C2668: 'std::to_string' : ambiguous call to overloaded function
라는 에러를 뱉어 무척이나 당황스러웠습니다.
그래서 또 google 선생님께 질문을 했더니
이런 답변을 발견! 부족한 영어로 해석해보니 VC11이전버전의 버그라고 하며 VC11부터는 해결되었다고 합니다.
그렇다면 VC11이하에서는 어떤 방법이 있을까 찾아보았더니 아주 간단한 방법이 존재했다.
-------------------------------------------------------------------------------------------
#include <sstream>
#include <iostream>
string intToString(int n);
void main()
{
std::string s = intToString(1234);
std::cout << s;
}
string intToString(int n)
{
stringstream s;
s << n;
return s.str()
}
-------------------------------------------------------------------------------------------
이런 간단한 함수를 만들어서 변환을 할 수가 있다. 정수를 stringstream으로 보내고 stringstream의 str()함수를 이용하여 string으로 변환하는 아주 간단한 방법이 있었다.
'C/C++' 카테고리의 다른 글
C언어 getch() 방향키 입력받기 (getch(), getchar(), getche()) (0) | 2014.06.13 |
---|---|
list iterator not incrementable 에러 (3) | 2014.05.23 |