Résultats de 1 à 2 sur 2

Sujet : pointeur void* en paramètre de fonctions

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    1

    pointeur void* en paramètre de fonctions

    Bonjour
    j\'ai une fonction a programmer dont le prototype est int fonction(void *parametre);
    je l\'appelle depuis le main.
    je voudrais transmettre un int en parametre depuis le main et pouvoir ensuite l\'utiliser dans la fonction mais c\'est où ça coince surement a cause d\'un pb de cast mais je n\'arrive pas le résoudre .
    merci de m\'aider

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    329
    Qu\'est ce qui coince ? Une erreur de compilation ? Un segfault ? Le code suivant doit fonctionner :

    Code:
    int fonction(void *param)
    {
        // ...
    }
    
    int main(int argc, char **argv)
    {
        int a = 8;
        int *b = &a;
        fonction(&a);
        fonction(b);
    }
    Ton problème dans ta fonction : tu ne connaîtra pas la taille de l\'objet, donc si on passe un char et que tu attends un int tu vas essayer de lire 32 bits au lieu de 8... Et de beaux segfaults en perspective :P

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!