2011-12-06 11 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(); 
} 

エラーは「『削除』:関数は3つの引数(C2660)になりません」と言う

+5

[this](http://msdn.microsoft.com/en-us/library/2da4hk1d%28v=VS.100%29.aspx)関数を呼び出すことになりました。 – Jon

+4

+1完全な最小限のサンプルプログラムを提供します。 http://sscce.org –

+2

@ジョン:ニースキャッチ。そのため、私は 'namespace std'を使用しないことを好みます。すべての方法を隠すためです。 – Johnsyweb

答えて

18

を追加してみてください

#include <algorithm> 

「アルゴリズム」はSTDを含む機能、::削除、OPに電話しようとしているの多くを含むSTLヘッダーです。彼が得たエラーは、ファイルを削除する "remove"という単一の引数を取る別の関数があるためです。

+0

ありがとう!それだった! – tr0yspradling

+6

このチェックボックスをオンにして、この質問に回答してください。 – StilesCrisis

+0

できるだけ早く10分待ってください! – tr0yspradling

関連する問題