문제

VC++(VStudio 2003)에서 stringstream 개체를 사용하려고 하는데 오버로드된 << 연산자를 사용하여 일부 조작자를 설정하려고 하면 오류가 발생합니다.

나는 다음을 시도하고 있습니다 :

int SomeInt = 1;  
stringstream StrStream;  
StrStream << std::setw(2) << SomeInt;  

컴파일되지 않습니다(오류 C2593:'연산자 <<'는 모호합니다).
VStudio 2003은 이러한 방식으로 조작기 사용을 지원합니까?
예를 들어 stringstream 개체에서 너비를 직접 설정할 수 있다는 것을 알고 있습니다.StrStream.width(2);
왜 더 일반적인 방법이 작동하지 않는지 궁금합니다.

도움이 되었습니까?

해결책

올바른 헤더를 모두 포함하셨나요?다음은 VS2003에서 컴파일됩니다.

#include <iostream>
#include <sstream>
#include <iomanip>

int main()
{
   int SomeInt = 1;
   std::stringstream StrStream;
   StrStream << std::setw(2) << SomeInt;
   return 0;
}

다른 팁

나는 이것을 좋아한다 참고사이트 이와 같은 스트림 질문의 경우.

/앨런

아마도 iomanip을 포함하는 것을 잊어버렸을 수도 있지만 거기에 완전한 프로그램에 대한 코드를 포함하지 않았기 때문에 확신할 수 없습니다.

이 전체 프로그램은 VS 2003을 사용하여 여기에서 잘 작동합니다.

#include <sstream>
#include <iomanip>

int main()
{
    int SomeInt = 1;
    std::stringstream StrStream;
    StrStream << std::setw(2) << SomeInt;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top