Déterminer le type d'une variable [Résolu]

higink 12 Messages postés mardi 8 juillet 2003Date d'inscription 22 mars 2009 Dernière intervention - 7 déc. 2008 à 15:07 - Dernière réponse : vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention
- 7 déc. 2008 à 16:19
Bonjour bonjour ^^
J'ai un petit problème sur un projet perso, je cherche comme le titre le dit à déterminer le type d'une variable.
Donc ma grande question est: existe t'il une fonction qui permet de le faire ?

Merci d'avance
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 7 déc. 2008 à 16:19
3
Merci
Je vois que tu définis deux fois la même structure avec des nom différents, ça n'a aucun sens. Éventuellement, tu peux faire ceci :
struct maillon1{
   int type;
   void* ptr;
}

type contient le type de ton pointeur, c'est l'information dont tu avais besoin.
_____________________________________
Un éditeur de ressources gratuit pour Windows

Merci vecchio56 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de vecchio56
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 7 déc. 2008 à 15:57
0
Merci
Tu veux dire la classe? Car a priori le type de la variable tu le connais, c'est celui que tu as utilisé pour déclarer la variable.
Ceci pourrait t'aider : Run-time type information

_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56
higink 12 Messages postés mardi 8 juillet 2003Date d'inscription 22 mars 2009 Dernière intervention - 7 déc. 2008 à 16:00
0
Merci
Nan nan je suis en C basique pas de C++

exemple:
  int ma_variable;
  fonction(ma_variable);

je voudrias que la fonction puisse detecter le type en gros qu'elle me dise si c'est un char ou un int ou autre
Commenter la réponse de higink
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 7 déc. 2008 à 16:02
0
Merci
Dans la définition de ta fonction, tu dois spécifier le type de l'argument donc je ne vois pas ou est ton problème...

_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56
higink 12 Messages postés mardi 8 juillet 2003Date d'inscription 22 mars 2009 Dernière intervention - 7 déc. 2008 à 16:06
0
Merci
Exemple concret:

j'ai créé une variable mais je ne connais pas son type
je ne sais pas si ca definition est:

int ma_variable;
ou
char ma_variable;
ou
float ma_variable;

comment avoir de quel type elle est ?
Commenter la réponse de higink
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 7 déc. 2008 à 16:09
0
Merci
Mais comment peux-tu ne pas connaitre son type? D'après moi tu le connais forcément, sauf si tu me donne un exemple qui montre le contraire

_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56
higink 12 Messages postés mardi 8 juillet 2003Date d'inscription 22 mars 2009 Dernière intervention - 7 déc. 2008 à 16:13
0
Merci
ok disons que tu as une liste chainée
tu a la fonction "ajouter" qui ajoute un maillon a la fin de ta liste
la syntaxe est ajouter(liste* nom_de_la_liste,int type);
type est le type du maillon que tu veux ajouter

ajouter(liste1, 0);
ajoute un maillon de ce type au bout de la liste1
struct maillon1{
   int* donnee;
}

ajouter(liste1, 1);

ajoute un maillon de ce type au bout de la liste1

struct maillon1{

   char* donnee;

}

l'utilisateur peut ajouter autant de maillon qu'il veut
puis apres on veut parcourir la liste et dire de quel type sont chaques maillons

comment savoir si le dernier maillon que tu a ajouté est un int ou un char ?
Commenter la réponse de higink

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.