Je suis nouveau en c ++. Lorsque j'exécute mon code a obtenu cette erreur :(
Big Sorting.cpp: Dans la fonction 'int main (int, const char **)': Big Sorting.cpp: 13: 22: erreur: pas de fonction correspondante pour l'appel à 'std :: vector> :: Push_back (int &)' v.Push_back (m); ^ Dans le fichier inclus de /usr/include/c++/8.1.1/vector:64, de Big Sorting.cpp: 2: /usr/include/c++/8.1.1/bits/stl_vector.h:1074:7: note : candidat: 'void std :: vector <_Tp, _Alloc> :: Push_back (const value_type &) [avec _Tp = std :: __ cxx11 :: basic_string; _Alloc = std :: allocator>; std :: vector <_Tp, _Alloc> :: value_type = std :: __ cxx11 :: basic_string] 'Push_back (const value_type & __x) ^ ~~~~~~~~ /usr/include/c++/8.1.1/bits/ stl_vector.h: 1074: 7: remarque: aucune conversion connue pour l'argument 1 de 'int' en 'const value_type &' {aka 'const std :: __ cxx11 :: basic_string &'} /usr/include/c++/8.1.1/bits /stl_vector.h:1090:7: remarque: candidat: 'void std :: vector <_Tp, _Alloc> :: Push_back (std :: vector <_Tp, _Alloc> :: value_type &&) [avec _Tp = std :: __ cxx11: : basic_string; _Alloc = std :: allocator>; std :: vector <_Tp, _Alloc> :: value_type = std :: __ cxx11 :: basic_string] 'Push_back (value_type && __x) ^ ~~~~~~~~ /usr/include/c++/8.1.1/bits/stl_vector .h: 1090: 7: note: aucune conversion connue pour l'argument 1 de 'int' en 'std :: vector> :: value_type &&' {aka 'std :: __ cxx11 :: basic_string &&'}
voici mon code
#include <iostream>
#include <vector>
#include <algorithm>
int main(int argc, char const *argv[]) {
std::vector<std::string> v;
int n, m;
std::cin >> n;
for (size_t i = 0; i < n; i++) {
std::cin >> m;
v.Push_back(m);
}
sort(v.begin(), v.end());
for(int i = 0; i < v.size(); i++){
std::cout << v[i] << '\n';
}
return 0;
}
Vous lisez int
variable m
et essayez de la mettre dans un vecteur de chaînes. Tu devrais utiliser std::vector<int>
au lieu.
Conclusion: votre code a besoin n seul changement, le plus raisonnable serait de changer std::vector<std::string>
à std::vector<int>
.