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 :

Problème de pointeur


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut Problème de pointeur
    Bonjour,

    J'ai un petit problème avec un programme. J'aimerai pouvoir disposer d'un tableau de type 'void *' et placer deux objets de type différent dedans. J'ai commencé à écrire un bout de code là-dessus mais je ne vois pas comment placer mes deux objets dans le tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    struct STestA
    {
    	int varA;
    };
     
    struct STestB
    {
    	int varB;
    };
     
    int main( int argc, char ** argv )
    {
            struct STestA TestA;
            struct STestB TestB;
    	void * tab = malloc(sizeof(struct STestA) + sizeof(struct STestB));
     
    	TestA.varA = 10;
    	TestB.varB = 20;
     
            // Affectation de TestA dans tab[0] ?
            // Affectation de TestB dans tab[1] ?
     
    	free(tab);
    	return EXIT_SUCCESS;
    }
    Merci d'avance à ceux qui pourront m'aider


    Nico.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Autant quand l'interface demande absolument du void*, je peux comprendre, mais là, non... Pourquoi du void* ????

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 136
    Par défaut
    Tout à fait d'accord! Moi aussi, je ne comprend pas l'utilité de faire un tableau de void *

  4. #4
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    Cela provient du fait que j'aimerai créer des threads via la fonction 'pthread_create'. Or cette fonction demande de passer une liste d'arguments avec un pointeur générique. Voici un exemple avec deux entiers en paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    void * fonction( void * args )
    {
    	printf("Arg1 -> %d\n", ((int *)args)[0]);
    	printf("Arg2 -> %d\n", ((int *)args)[1]);
    	return NULL;
    }
     
    int main( int argc, char ** argv )
    {
    	pthread_t pthread_id;
    	int args[2] = {10, 20};
    	pthread_create(&pthread_id, NULL, fonction, (void *)args);
    	pthread_exit(0);
    }
    Ici, je passe deux entiers à la fonction 'fonction'. Dans mon cas, je souhaiterai définir un pointeur générique qui me permettrait d'accueillir deux objets de types différents et de passer ce pointeur à la fonction pthread_create.


    Nico.

  5. #5
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Passer une structure à fonction ne convient pas ?

  6. #6
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    Oui Certainement mais je posais simplement la question pour peut-être éviter de déclarer une structure supplémentaire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de pointeurs..embrouillé
    Par Frenchy dans le forum C++
    Réponses: 11
    Dernier message: 10/03/2005, 16h33
  2. Problème de pointeur avec un TQuery
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/01/2005, 13h57
  3. Problème de pointeur
    Par toma_lille dans le forum C++
    Réponses: 1
    Dernier message: 07/12/2004, 21h26
  4. [MFC] Problème de pointeur !!
    Par acastor dans le forum MFC
    Réponses: 7
    Dernier message: 19/03/2004, 15h50
  5. TBitmap et problèmes de pointeurs...
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 13h39

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