IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Redéfinition de fonction


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Redéfinition de fonction
    Bonjour,

    je souhaite redefinir certaines fonctions des sockets et je bloque sur la recvfrom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    T_LONG Socket_recvfrom(SOCKET sock, T_CHAR * buffer, T_LONG bufferlen, T_LONG flags, struct sockaddr * from);
     
    T_LONG Socket_recvfrom(SOCKET sock, T_CHAR * buffer, T_LONG bufferlen, T_LONG flags, struct sockaddr * from)
    {
    	T_LONG NbBytes = 0;
    	socklen_t fromlen = sizeof(struct sockaddr);
     
    	NbBytes = recvfrom(sock, buffer, bufferlen, flags, (struct sockaddr *) &from, &fromlen);
     
    	return NbBytes;
    }
    et je l’appelle dans le code comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbBytes =  Socket_recvfrom(Get_ServerSocket(), message, SOCKET_MAXBUFLEN, 0, (struct sockaddr *) &recv_addr);
    le soucis c'est que recv_addr ne me renvoie pas de bonne valeur (évidement sans ma redéfinition ca marche tres bien mais ce n'est pas ce que je souhaite)

    Quelqu’un à une idée svp ?

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 91
    Par défaut
    Bonjour,

    Les multiples définitions en C relèvent un comportement indéfini. Donc il faut voir si la librairie concernée est liée au projet, si oui il faut l'enlever si possible.

    Mais, renommer autrement la fonction est bien plus simple.

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Ceci me semble bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbBytes = recvfrom(sock, buffer, bufferlen, flags, (struct sockaddr *) &from, &fromlen);
    Pourquoi passer l'adresse de la variable locale from (qui n'est qu'un pointeur) ?

Discussions similaires

  1. Héritage et redéfinition de fonctions
    Par elbourin dans le forum C++
    Réponses: 3
    Dernier message: 20/12/2010, 22h02
  2. Interdire la redéfinition d'une fonction
    Par mister3957 dans le forum C++
    Réponses: 6
    Dernier message: 01/03/2007, 15h27
  3. Réponses: 7
    Dernier message: 05/05/2006, 09h48
  4. Réponses: 10
    Dernier message: 22/03/2006, 10h49
  5. Redéfinition de fonctions et de mots clés
    Par superjb dans le forum Langage
    Réponses: 6
    Dernier message: 10/10/2005, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo