2014-04-02 9 views
0

간단한 'Movie'개체의 문자열 표현을 만드는 간단한 함수가 있습니다. 나는 값이 유효 테스트하기 위해이 줄을 추가하면왜 내 간단한 문자열이 올바르게 구성되지 않습니까?

\�tle: Star Wars�B 
    Genre: Science-Fiction 

... 나는

string Movie::getDisplayText() { 
    ostringstream oss; 
    oss << "Title: " << this->getTitle() << "\tYear: "+this->getYear() << "\tGenre: " << this->getGenre(); 
    string ret = oss.str(); 

    return ret; 
} 

...이 일을 해요하지만 내장 반환됩니다 문자열은 다음과 같습니다 ... 나는 값이 모두 제대로 초기화 알 수 있도록

cout << "DEBUG Title: " << this->getTitle() << "\tYear: "+this->getYear() << "\tGenre: " << this->getGenre() << "\n" << endl; 

... 그것은 ... 올바른 찾고 문자열 'cout을'에 출력

DEBUG title='Star Wars'; year='1977'; genre='Science-Fiction'; 

ostringstream 코드에 어떤 문제가 있습니까?

string Movie::getDisplayText() { 
    ostringstream oss; 
    oss << "Title: " << this->getTitle() << "\tYear: "+this->getYear() << "\tGenre: " << this->getGenre(); 
    string ret = oss.str(); 

    return ret; 
} 

그것은

string Movie::getDisplayText() { 
    ostringstream oss; 
    oss << "Title: " << this->getTitle() << "\tYear: " << this->getYear() << "\tGenre: " << this->getGenre(); 
    string ret = oss.str(); 

    return ret; 
} 

아니 \ tYear 후 차이해야 :. :

+2

문자열 리터럴에 정수를 추가하는 것은 연결을 수행하지 않습니다. – chris

+0

글쎄, 이런. 감사! –

답변

3

이 있습니다 그 이유는 문자열 리터럴과 int를 함께 추가해도 연결되지 않기 때문입니다.

+0

ARRRGGH !!! 나는 그것을 놓쳐 버린 것을 믿을 수 없다. 나를위한 신선한 눈의 쌍인 것에 대해 감사한다. –

+1

모두에게 발생합니다. – Kevin

관련 문제