Langage c (pb avec void*)
estelle
-
tmin -
tmin -
Bonjour
donc voilà j'ai une fonction du style : unsigned int f(void * parametre);
je voudraire faire appel a cette fonction depuis le main en transmettant un parametre de type int tout en gardant ds la declaration de la fonction un void* .
je n'arrive pas a utiliser le parametre dans la fonction, il y a surement un pb de cast..
merci de m'aider
donc voilà j'ai une fonction du style : unsigned int f(void * parametre);
je voudraire faire appel a cette fonction depuis le main en transmettant un parametre de type int tout en gardant ds la declaration de la fonction un void* .
je n'arrive pas a utiliser le parametre dans la fonction, il y a surement un pb de cast..
merci de m'aider
A voir également:
- Document.body.contenteditable='true'; document.designmode='on'; void 0
- Acronis true image - Télécharger - Sauvegarde
- Acpi\int33a0\0 ✓ - Forum Pilotes (drivers)
- Si #n/a alors 0 - Forum Bureautique
- Void(0); ✓ - Forum Javascript
- Remettre a 0 un pc - Guide
2 réponses
//Compiler et testé avec Borland C++ 5.01
#include <iostream.h>
unsigned int f(void * parametre);
main()
{
int a=2;
f((void *)&a);
}
unsigned int f(void * parametre)
{
int *b;
//on ne peut pas utiliser un pointeur sur un void avant de
//l'avoir reassigné pour qu'il pointe vers un objet d' un autre type
b=(int *)parametre;
//utilisation du pointeur
cout<<"Adresse: "<<b<<endl<<"Valeur: "<<*b;
}
#include <iostream.h>
unsigned int f(void * parametre);
main()
{
int a=2;
f((void *)&a);
}
unsigned int f(void * parametre)
{
int *b;
//on ne peut pas utiliser un pointeur sur un void avant de
//l'avoir reassigné pour qu'il pointe vers un objet d' un autre type
b=(int *)parametre;
//utilisation du pointeur
cout<<"Adresse: "<<b<<endl<<"Valeur: "<<*b;
}
j'ai repris cette example et je les completer un peu (lol a 3h du mat j'etait un peu fatiguer...)
//Compiler et testé avec Borland C++ 5.01
#include <iostream.h>
unsigned int f(void * parametre);
main()
{
int a=2;
f(&a);
}
unsigned int f(void * parametre)
{
int *b;
int c;
b=(int *)parametre;
c=*(int *)parametre;
//utilisations du pointeur
cout<<"b Adresse: "<<b<<" Valeur: "<<*b<<endl;
cout<<"c Adresse: "<<&c<<" Valeur: "<<c<<endl;
cout<<"parametre Adresse: "<<(int *)parametre<< Valeur: "<<*(int *)parametre<<endl;
}
//Compiler et testé avec Borland C++ 5.01
#include <iostream.h>
unsigned int f(void * parametre);
main()
{
int a=2;
f(&a);
}
unsigned int f(void * parametre)
{
int *b;
int c;
b=(int *)parametre;
c=*(int *)parametre;
//utilisations du pointeur
cout<<"b Adresse: "<<b<<" Valeur: "<<*b<<endl;
cout<<"c Adresse: "<<&c<<" Valeur: "<<c<<endl;
cout<<"parametre Adresse: "<<(int *)parametre<< Valeur: "<<*(int *)parametre<<endl;
}