lexical_cast를 사용하는 템플릿 기반 코드가 있습니다.lexical_cast의 다른 약어 <T> (std :: string)
이제 모든 lexical_cast 호출을 제거하고 싶습니다 (/ clr과 잘 작동하지 않기 때문에).
std :: string과 그 값 사이에 개체를 캐스팅해야합니다.
그래서, 제 1 방향은 쉽게 (T의 _from, 표준 : : 문자열 _to)입니다 :
std::ostringstream os;
os << _from;
_to = os.str();
그러나 나는 (I 모든 유형의 문자열에서 일반적으로 그것을 할 수있는 방법을 생각할 수 없다 단지 atoi
같은 각 유형 및 사용 기능)에 대한 전문화를 사용할 수 없습니다 템플릿을 사용하여 작동합니다 일반적인 뭔가가 필요
편집 : 물론
내가 직접 반대에 ostringstream를 사용하여 시도했다 이온.
오류 C2784 : '표준 : : basic_istream보다는 < _Elem, _Traits> & 표준 : : 연산자 >> (표준 : : basic_istream보다는 < _Elem, _Traits> & &, _Elem *)'추론 할 수없는 나는이 오류 '표준 : : ostringstream'
물론 ...이 오류가 발생했습니다. 오류 C2784 : 'std :: basic_istream <_Elem, _Traits> & std :: operator >> (std :: basic_istream <_Elem, _Traits> &&, _ Elem *)'오류가 발생합니다. : 'std :: basic_istream <_Elem, _Traits> &&'std :: ostringstream '에서 템플릿 인수를 추론 할 수 없습니다. –
@Yochai'ostringstream'을 사용하려고합니다! 물론, 이는 단지 스트리밍 입력 만 허용하는 것이 아니라 출력 스트리밍을 허용합니다. 대신'stringstream'을 사용하십시오. –
롤 (Lol), 거기에 이벤트 통지를하지 않았습니다 ... 코드를 너무 오랫동안 보았습니다. 감사 –