bonjour,
je vous poste de message car j'ai un petut souci dans mon code qui me dépasse. je dois faire un code en c++ qui doit affiché en majuscule sur la sortie standard les caractères tapés en entré standard.
voici le code source
Code :
- #include <iostream>
- #include <vector>
- #include <string>
- #include <algorithm>
- #include <iterator>
- using std::vector;
- std::string Maj (std::string & a)
- {
- return toupper(a);
- }
- int main(void)
- {
- vector<std::string> data;
- std::copy(std::istream_iterator<std::string>(std::cin),
- std::istream_iterator<std::string>(),
- back_inserter (data));
- std::transform(data.begin(), data.end(), std::ostream_iterator<std::string>(std::cout, "\n" ), Maj);
- return 0;
- }
|
et j'obtiens ça comme message de compilation
jaybolo[20:12][f-upper]make re
rm -f upper.o *~
g++ -O2 -Wall -W -Werror -c -o upper.o upper.cpp
upper.cpp: In function `std::string Maj(std::string& )':
upper.cpp:23: error: no matching function for call to `toupper(
std::basic_string<char, std::char_traits<char>, std::allocator<char> >& )'
/usr/include/ctype.h:119: error: candidates are: int toupper(int)
make: *** [upper.o] Error 1
jaybolo[20:13][f-upper]
Je compile grâce à g++ sous une debian.
Si quelqu'un voit où je me suis gourré ce serait coool de me le faire savoir svp.
merci d'avance