20
février
2013
[Astuce][Vala] manipulation de tableaux
février
2013
lors de la conversion d’un code Vala en C, les tableaux généreront cette erreur :
Exemple avec ce type de fonction
public void SetUNICODE(uint16[] unicode);
erreur: too many arguments to function SetUNICODE
Ceci est dû au fait que vala converti ce tableau en pointeur suivi d’un entier représentant sa taille, Alors que vous ne voulez que ce tableau ![]()
ce qu’il faut faire, convertir ce tableau en pointeur:
public void SetUNICODE(uint16 *unicode);
/**/
uint16[] table;
/**/
SetUNICODE((uint16 *)table);
/**/
uint16[] table;
/**/
SetUNICODE((uint16 *)table);
autre solution, spécifier l’attribut array_length avec la valeur false :
[CCode(array_length = false)]
public void SetUNICODE(uint16[] unicode);
public void SetUNICODE(uint16[] unicode);
et la compilation ne posera pas de soucis et le programme sera fonctionnel
Commentaires récents
- romut dans Mono 3.0 pour Ubuntu 32 & 64 bits
- romut dans [Mono] Monodevelop 4.0 pour Debian/Ubuntu
- rotrevrep dans [Vala] taglib_vala : une bibliothèque d’édition de méta-données audio
- r#, le blog sur le développement mono/gtk# et Vala dans [Vala] id3.vapi : la vapi de la bibliothèque id3lib
- rotrevrep dans Mono 3.0 pour Ubuntu 32 & 64 bits



Un article de Rachel