2011-12-06 2 views
10
나는 문제가 내 코드를 잘못 어디로 갔는지 이해하는 데

:C++의 STL 삭제 오류

#include <iostream> 

#include <string> 

using namespace std; 

int main(int argc, char* argv[]) { 
    string str = ""; 
    cin >> str; 
    remove(str.begin(), str.end(), ' '); 
    cout << str; 
    cin.ignore(); 
} 

오류는 " '제거'기능은 (C2660)를 3 개 인수를 고려하지 않습니다"라고

+5

대신 [this] (http://msdn.microsoft.com/en-us/library/2da4hk1d%28v=VS.100%29.aspx) 함수를 호출해야합니다. – Jon

+4

+1 완전한 예제 프로그램을 제공합니다. http://sscce.org –

+2

@Jon : 좋은 캐치. 그래서 모든 방식의 기능을 숨기기 때문에'using namespace std'를 사용하지 않는 것을 선호합니다. – Johnsyweb

답변

18

추가 시도

#include <algorithm> 

"알고리즘은"표준을 포함하여 기능 :: 제거, 영업 전화하려고 많이 포함하는 STL 헤더입니다. 파일을 삭제하는 "remove"라는 단일 인수를 사용하는 또 다른 함수가 있기 때문에 오류가 발생했습니다.

+0

감사! 그거였다! – tr0yspradling

+6

이 질문을 답변으로 표시하려면 확인란을 클릭하십시오. – StilesCrisis

+0

내가 할 수 있기 전에 10 분 정도 기다려야 해! – tr0yspradling