Ainsi, le but de la fonction est d'ajouter des nombres impairs au tableau entre 1 et un entier fourni (inclus). Cela semble être une tâche simple, cependant, je n'arrive pas à l'obtenir pour ajouter correctement les entiers au tableau réel. La fonction elle-même n'est pas const, donc ne devrait-elle pas ajouter des valeurs au tableau avec succès?Push_back nombres impairs
EDIT: Tout est fait dans un main, donc c'est ici.
int main()
{
std::vector<int> loli(100);
populate(loli, 31);
for (int value : loli)
{
std::cout << value << " ";
system("pause");
}
}
EDIT 2: J'ai essayé d'ajouter une instruction return à la place, mais j'ai toujours le résultat zéro.
std::vector<int> populate(std::vector<int> ary, int a)
{
for (int i = 1; i <= a; i++)
{
if (i % 2 != 0)
{
ary.push_back(i);
}
}
return ary;
}
int main()
{
std::vector<int> loli(100);
for (int value : populate(loli, 31))
{
std::cout << value << " ";
system("pause");
}
}
std :: vector Populate (std :: vecteur Ary, int a) { \t for (int i = 1; i <= a; i ++) { \t \t \t si (i% 2! = 0) { \t \t \t \t \t \t \t \t ary.push_back (i); \t \t} \t \t \t} \t retour (aire); } comme ça? –
Granzo
Oui. Sans la déclaration de retour, votre fonction ne retournera rien et lorsque vous appelez la fonction, elle ne fera rien. En outre, lorsque vous appelez la fonction, vous devez enregistrer la valeur renvoyée dans une variable – Heapify
Cela ne fonctionne toujours pas pour une raison quelconque. – Granzo