2014-09-04 2 views
0

복사 기능이있는 벡터 요소를 STL에서 인쇄하려고합니다. 이론적으로 오작동없이 작동해야하지만 이상한 알림이 표시됩니다. Google에서는 오류가 무엇인지 이해할 수 없습니다. 제가 약에있어 무엇을 보여주지 :STL의 복사 기능으로 벡터 출력

#include <iostream> 
#include <vector> 

int main(void) 
{ 
    vector<string> names; 
    names.push_back("Jeremy"); 
    names.push_back("James"); 
    names.push_back("Richard"); 

    copy(names.begin(), names.end(), ostream_iterator<string>(cout, ' '); 

    // this line cause some problems; 


} 

나는 다음과 같은 오류 있어요 :

'숯불하는'CONST의 char *에서

무효 변환 좀 제대로을 얻기 위해 사랑을 (이해하기 쉬운) 설명 내 아이디어에 문제가 있습니까?)

건배!

답변

4

1.Change :

copy(names.begin(), names.end(), ostream_iterator<string>(cout, ' '); 

로 :

copy(names.begin(), names.end(), ostream_iterator<string>(cout, " ")); 

(리터럴 문자열이 아닌 문자) 괄호 누락

2.add.

3. 그리고 누락되었습니다. <algorithm>, <iterator><string> 헤더를 추가하십시오.

내가 궁금하네요

+0

using namespace std;을 4.add, 출력 컨테이너에'공통의 트릭을 copy'와'ostream_iterator'를 사용? –

+1

고마워 :) 작동했습니다 –

+1

@MarsonMao : 그렇습니다, 컨테이너를 출력하는 가장 좋은 STL 방법입니다. –