Meine Zeichenfolge ist !!(!())
. Ich möchte Doppelausrufe aus der Zeichenfolge entfernen.remove_copy Verwendung mit Zeichenfolgen
Dies funktioniert, aber es entfernt alle Ausrufen
remove_copy(str.begin(), str.end(),ostream_iterator<char>(cout), '!');//gives (())
Diese nicht
funktioniertremove_copy(str.begin(), str.end(),ostream_iterator<string>(cout), "!!");
die obige Zeile diesem Fehler Würfen Mit
/usr/include/C++/5/Bits /predefined_ops.h:194:17: Fehler: ISO C++ verbietet den Vergleich zwischen Zeiger und Ganzzahl [-fpermissiv] {return * __ it == _M_value; }
Eine Referenz macht es offensichtlich, dass es keine Überladung gibt, die eine Schnur spezifisch nimmt. – chris
@chris ostream_iterator hat 'template>'. Das bedeutet, ich kann String richtig benutzen? –
@SamidhT Zeichenfolge ist eine Liste von Zeichen. remove_copy durchläuft die Liste und entfernt das Zeichen. Es kann auch mit einer Liste von Strings arbeiten. – Balu