Bonjour,
je r�alise en ce moment un petit programme de d�monstration mettant en avant diff�rent fa�on d��crire une fonction permettant de passer un tableau en param�tre.
Voici quelque unes des m�thodes que je veux mettre dans ma desmonstration:
j'essaye ensuite diff�rent type en entr�e pour voir les v�rifications statiques sur le code.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 //Par ref // réalise une verification static sur les tailles à la compilation void getParamArrayVerifStatic( double (&oarray)[3]); // pas de verification static sur les tailles à la compilation void getParamArrayWithoutVerfiStatic( double oarray[3]); //Par pointeur // réalise une verification static sur les entrées à la compilation void getParamArrayPtrVerifStatic( double (*oarray)[3] ) // voici la method posant probléme void getParamArrayPtrWithoutVerfiStatic( double *oarray[3] )
dans le dernier cas getParamArrayPtrWithoutVerfiStatic impossible de trouver une moyen de caster mon parametre de type double (*)[3] vers le type 'double *[]'.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 //declaration du type a teste double Array3[3] = {3,4,5}; getParamArrayWithoutVerfiStatic(Array3) //"OK Compil but not Validate by compilation") getParamArrayVerifStatic( Array3 ); //"OK Compil and Validate by compilation") getParamArrayPtrVerifStatic( &Array3 ); //"OK Compile but not Validate by compilation") getParamArrayPtrWithoutVerfiStatic( &Array3 ); //"KO Compile ,cannot convert parameter 1 from 'double (*)[3]' to 'double *[]'")
Il doit bien y avoir une moyen vu que au final les deux types sont des pointeurs sur un tableaux d'�l�ment.
Partager