Archiv verlassen und diese Seite im Standarddesign anzeigen : string.h
Claudine
22-07-2003, 08:29
.replace, pop_back() funktionieren leider nicht, wenn ich string.h includiere.
Alle anderen Funktionen schon (find, insert, push_back usw.).
Scheint ob, als ob meine string.h diese Funktionen nicht ünterstützt.
test.cpp: In function `int main(int, char**)':
test.cpp:46: no matching function for call to `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::pop_back()'
Ist meine string.h zu alt??
OS: Suse Linux 8.1 / gcc version 3.2
Also erstmal heißt der Header string,und nicht string.h,das wäre nämlich ein C Header :).
Dann,es gibt in basic_string kein pop_back,und bei replace haste vielleicht irgendeinen Fehler beim Aufruf gemacht.
Hier eine Aufstellung der Methoden von basic_string
http://www.dinkumware.com/manuals/reader.aspx?b=p/&h=string2.html
Claudine
22-07-2003, 11:48
string was("c++ ist grausam");
was.replace(1, 1, 'A') ;
erzeugt eine ähnliche Fehlermeldung
test.cpp: In function `int main(int, char**)':
test.cpp:45: invalid conversion from `char' to `const char*'
test.cpp:45: initializing argument 3 of `std::basic_string<_CharT, _Traits,
_Alloc>& std::basic_string<_CharT, _Traits,
_Alloc>::replace(_Alloc::size_type, _Alloc::size_type, const _CharT*) [with
_CharT = char, _Traits = std::char_traits<char>, _Alloc =
std::allocator<char>]'
Original geschrieben von Claudine
string was("c++ ist grausam");
was.replace(1, 1, 'A') ;
Klar,das dritte Argument muß ein const char* Pointer sein,also ändere die ' in ".
Claudine
22-07-2003, 18:26
Original geschrieben von wraith
Klar,das dritte Argument muß ein const char* Pointer sein,also ändere die ' in ".
Danke, jetzt funktioniert es.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.