Je sais qu'on peut avoir du mal à en voir l'utilité mais est-il possible de passer un tableau d'entiers par valeurs à une fonction?
J'ai essayé:
ainsi que moultes variantes mais "ça ne marche pas" ...Code:
1
2 maFonction([1,3]);
merci
Version imprimable
Je sais qu'on peut avoir du mal à en voir l'utilité mais est-il possible de passer un tableau d'entiers par valeurs à une fonction?
J'ai essayé:
ainsi que moultes variantes mais "ça ne marche pas" ...Code:
1
2 maFonction([1,3]);
merci
Salut,
de tête essaie ceci :
F.Code:
1
2 maFonction({1,3});
Bonjour
Pourquoi ne pas faire une copie de ton tableau a passer et passer le clone de ce dernier?(j'ai bien peur qu'il n'est pas autre moyen)
Non ça marche pas je crois que ça fais plutot allusion à une enumeration çaCitation:
Envoyé par mavina
@+
Eh bien je me suis dit que comme tu pouvais déclarer un tableau comme ceci :
tu pouvais le passer en paramètre de la même manière ;)Code:
1
2 int[] t={1,2,3,1};
F.
Après test, en effet ma solution ne fonctionne pas, au temps pour moi.
Il n'est donc pas possible de faire ce genre de choses à priori.
F.
est ce que c'est ca que vous cherchez?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public static void main(String[] args) { int[] vals = {1, 2, 3, 4, 5, 6, 7, 8, 9}; passage1(new int[]{vals[0], vals[4], vals[6]}); passage2(vals[0], vals[4], vals[6]); } public static void passage1(int[] rec) { //... } public static void passage2(int... rec) { //... }
j'ai pas tout compris sur ce coup la :aie: .
c'etait quoi que tu voulais???
[edit] haa c'est ca que tu cherchais non?
Code:
1
2
3
4
5
6
7
8
9 public static void main(String[] args) { int[] vals = {1, 2, 3, 4, 5, 6, 7, 8, 9}; passage2(vals); } public static void passage2(int... rec) { //... }
Cool eclesia :king::king:(j'en profite pour apprendre moi aussi)
j'aurai parier quil cherchais ça
Juste je voudrais savoir une chose moi,le tableau passé en parametreCitation:
Envoyé par eclesia
est stoké ou?et comment ça passe dans la memoire?c'est tableau temporaire ?qui meurt à quel moment de l'execution du code?ou tout simplement c'est carement l'equivalent deCode:new int[]{vals[0], vals[4], vals[6]}
Et c'est comme si on passait "tab" en parametre ,donc ça rejoint cette histoire de copie.Code:int tab[]=new int[]{vals[0], vals[4], vals[6]
@+
et bien oui c'est un nouveau tableau. une copie si tu veux.
declaré le tableau directement dans l'appelle réduit sa portée au minimum, de plus ce tableau est "anonyme", donc aucune chance qu'il soit réutilisé ailleur.
perso j'aime bien les solutions en varargs (les ...) :D
:yaisse2::yaisse2: :king: merci pour l'explication
Juste une derniere chose est-ce que cette methode est conseillé? 8-)