Pointeurs... Encore et toujours...

Résolu
darknoon29 Messages postés 17 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 10 juin 2005 - 5 juin 2005 à 14:35
darknoon29 Messages postés 17 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 10 juin 2005 - 5 juin 2005 à 18:15
Nous avons toujours quelques difficultés, voilà ce qu'on a écrit:






[DllImport("ordonantsdll.dll")] public static extern System.IntPtr AllocTabInt2d(int NbLignes,int NbColonnes);

[DllImport("ordonantsdll.dll")]
public static extern void algo (LigneDAssemblage Ligne,IntPtr
NbViolationsMini, System.IntPtr TabMeilleureSequence);

[DllImport("ordonantsdll.dll")]
public static extern void savefichier (int NbVoiture, System.IntPtr
tabseq, int NbViolation,char TmpStr);

[DllImport("ordonantsdll.dll")] public static extern int lecturefichier(LigneDAssemblage* Ligne, char TmpStr);



dans cette configuration, il n'est pas possible de compiler.



Question subsidiaire: Lors de l'appel du programme, en C on utilise
&_variable_ pour passer l'adresse, quel est la commande en C# ?





Ona vraiment du mal avec les pointeurs simples doubles etc... Si quelqu'un pouvait faire un tuto ce serait cool!!



Merci à vous tous pour votre aide !

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
5 juin 2005 à 17:36
Si tu ne donnes pas le message d'erreur c'est difficile de t'aider..Dans la fonction "lecturefichier" tu utilises directement un pointeur, c'est possible uniquement en mode unsafe, tu dois avoir une erreur CS0214.

Pour passer des pointeurs : une classe est une reference donc c'est deja un pointeur, pour les structures tu rajoutes ref, si tu rajoutes ref avec une classe ca devient un double pointeur et ref IntPtr est possible pour passer un double pointeur pour des types valeurs.
3
darknoon29 Messages postés 17 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 10 juin 2005
5 juin 2005 à 18:15
Merci pour ton aide !
0
Rejoignez-nous