Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1367 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  probleme de cast

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme de cast

n°923034
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 16:54:18  profilanswer
 

J'ai un probleme de cast avec le compilo HP (avec un compilo Sun ca marche).
 
J'ai une structure qui s'appelle pouet on va dire.
 
je veux caster pouet* en int pour l'utiliser dans une table de hash, mais le compilo m'envoie chier :
 
line 127: Error: Cannot cast from pouet* to int.
 
j'ai essaye de caster en void* avant de caster en int, meme combat :
 
line 127: Error: Cannot cast from void* to int.
 
 
Faut faire quoi pour que ca passe ? :D

mood
Publicité
Posté le 14-12-2004 à 16:54:18  profilanswer
 

n°923055
antp
Super Administrateur
Champion des excuses bidons
Posté le 14-12-2004 à 17:06:46  profilanswer
 

Tu fais le cast comment ? Comme en C ou avec les trucs du C++ ? Essaie avec reinterpret_cast ; dans la doc de C++Builder ils disent "A pointer can be explicitly converted to an integral type.", reste à espérer que ça marche pareil chez toi :D


Message édité par antp le 14-12-2004 à 17:07:24

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°923058
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 17:08:00  profilanswer
 

c'etait fait comme en C
je vais tenter le reinterpret_cast

n°923059
Taz
bisounours-codeur
Posté le 14-12-2004 à 17:08:00  profilanswer
 

ouais tu le fait comment. Et surtout, t'es surquoi comme architecture ?

n°923063
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 17:08:14  profilanswer
 

Taz a écrit :

ouais tu le fait comment. Et surtout, t'es surquoi comme architecture ?

HP 64bits
tu penses que c'est parce qu'en 64 bits faudrait le caster en long ?


Message édité par joce le 14-12-2004 à 17:11:06
n°923080
Taz
bisounours-codeur
Posté le 14-12-2004 à 17:16:54  profilanswer
 

oui. Et faut surtout faire attention à l'alignement.
 
long ou long long, selon le modèle.
 
Cela dit, qu'est-ce qui t'empêche de garder tes pointeurs tels quels ?

n°923081
antp
Super Administrateur
Champion des excuses bidons
Posté le 14-12-2004 à 17:20:11  profilanswer
 

Les int sont pas aussi en 64 bits sur une plateforme 64 bits ? :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°923082
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 17:20:15  profilanswer
 

Taz a écrit :

oui. Et faut surtout faire attention à l'alignement.
 
long ou long long, selon le modèle.
 
Cela dit, qu'est-ce qui t'empêche de garder tes pointeurs tels quels ?

c'est pour utiliser dans une fonction de comparaison d'une hash.
En fait on caste pas en int a proprement parler mais en (voHashKey), mais bizarrement sous HP le voHashKey est un int, ce qui est pas forcement top :/
 
Qu'est ce que t'entends par long ou long long suivant le modele ?

n°923083
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 17:20:34  profilanswer
 

antp a écrit :

Les int sont pas aussi en 64 bits sur une plateforme 64 bits ? :??:

a priori non, c'est les long qui sont en 64 bits :??:

n°923087
chrisbk
-
Posté le 14-12-2004 à 17:22:45  profilanswer
 

joce a écrit :

HP 64bits
tu penses que c'est parce qu'en 64 bits faudrait le caster en long ?


 
size_t il est pas la pour ca ?

mood
Publicité
Posté le 14-12-2004 à 17:22:45  profilanswer
 

n°923089
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 17:24:50  profilanswer
 

chrisbk a écrit :

size_t il est pas la pour ca ?

je suis pas responsable du layer pourri qu'il y a en dessous :/ (surtout quand je vois les commentaires :lol:)


Message édité par joce le 14-12-2004 à 17:25:04
n°923095
chrisbk
-
Posté le 14-12-2004 à 17:30:54  profilanswer
 

bin bonne chance, parce que caster du pointeur en entier, c'est pas forcement la meilleur chose a faire...

n°923103
joce
Architecte / Développeur principal
"BugHunter"
Posté le 14-12-2004 à 17:39:51  profilanswer
 

chrisbk a écrit :

bin bonne chance, parce que caster du pointeur en entier, c'est pas forcement la meilleur chose a faire...


 
/*
 * For 64bit, we require a 64bit hash key. We'll use a typedef here,
 * to retain backward compatibility
 *
 * NB: (30 June 99) igf:
 *  I'm backing this out due to time contraints. Will switch on 64 bit later...
 */
 
[:ddr555]
 
tu m'etonnes que ca marche pas :o

n°923709
joce
Architecte / Développeur principal
"BugHunter"
Posté le 15-12-2004 à 11:56:24  profilanswer
 

uintptr_t serait meme plus approprie que size_t pour ca

n°923722
Taz
bisounours-codeur
Posté le 15-12-2004 à 12:04:17  profilanswer
 

pourquoi tu veux absolument mettre tes pointeurs dans des int ?

n°923787
joce
Architecte / Développeur principal
"BugHunter"
Posté le 15-12-2004 à 14:04:15  profilanswer
 

uintptr_t c'est pas 32 bits a priori sur du HP64, c'est 64 bits (c'est un unsigned long)


Message édité par joce le 15-12-2004 à 14:05:48
n°923793
chrisbk
-
Posté le 15-12-2004 à 14:09:04  profilanswer
 

Taz a écrit :

pourquoi tu veux absolument mettre tes pointeurs dans des int ?


si j'ai bien compris, il a pas le choix

n°923795
Taz
bisounours-codeur
Posté le 15-12-2004 à 14:10:36  profilanswer
 

non, mais ça d'accord, je veux juste comprendre pourquoi tu veux foutre tes pointeurs dans des entiers ?
 
tu peux très bien t'en servir de clef, avec une fonction de hash trivial ((p & 0xffffffff00000000ULL) >> 32) ^ (p & 0x00000000ffffffffULL) par exemple

n°923802
joce
Architecte / Développeur principal
"BugHunter"
Posté le 15-12-2004 à 14:13:19  profilanswer
 

yep, mais je vais faire autrement en fait, merci :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  probleme de cast

 

Sujets relatifs
problème avec le script leechi[SQL/PHP] Probleme avec la fonction MAX()
probleme a l'aide !!Probleme de variable globale.
probleme pour choisir ou l'on veut stocker ce que l'on telechargeProblème de tableau CSS
probleme de cast :!probleme pointeur void alors qu'un cast de char* marche :\
probleme de cast dynamique avec heritage etc[SQL] problème avec CAST
Plus de sujets relatifs à : probleme de cast


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR