nraynaud a écrit a écrit  :
  Quand le besoin se fait sentir, le compilo converti un tableau en pointeur.
 
 
  | 
Et une fonction C/C++ ne peut prendre de tableau en argument formel.
 
Pour ces deux raisons, les crochets vides sont ramenés à un pointeur dans le type d'un argument, et uniquement dans ce cas.
Code :
 - int i;
 - void func1(int arg1[]); //int* arg1 en vrai
 - func1(&i);
 - double* pd;
 - void func2(double* arg2[]); //double** arg2 en vrai
 - func2(&pd);
 
  | 
Par contre cela ne vaut que pour la première 'dimension'. Les suivantes font partie intégrante du type, et doivent être spécifiées:
Code :
 - int ai[10];
 - void func3(int arg3[][10]); //int (*arg3)[10] en vrai (pointeur sur tableau de 10 int)
 - func3(&ai);
 
  | 
Ça fait partie des incohérences historiques du C, répercutées en C++ au nom de la sacro-sainte compatibilité.
 
Le C++ a des zones sombres, ouais, bien moisies même...
 
 ---------------
			
Bricocheap: Montage de ventilo sur paté de mastic silicone