paramètre template constant et type sous jacent d'enum - C++ - Programmation
Marsh Posté le 05-08-2005 à 11:20:07
et à quoi est censé servir ce genre de pirouette ? (Pourquoi ne pas passer tout simplement par une valeur entière à la place de ton __typeof__(enumVal) ?)
Edit : en fait, j'ai carrément du mal à voir pourquoi tu peux avoir besoin de template dans ce cas
Marsh Posté le 05-08-2005 à 11:26:21
ben tu vois bien, a typifier n'importe quel enum, avec n'importe quel type sous sous-jacent.
une valeur entière ?
Marsh Posté le 05-08-2005 à 11:30:00
en fait j'ai besoin de conserver la valeur de l'enum, d'ou le template.
Marsh Posté le 05-08-2005 à 11:36:08
en meme temps, c'est la fleme de mettre un troisieme paramètre dans la macro Juste pour une once d'élégance quoi.
Marsh Posté le 05-08-2005 à 11:50:01
Attendez, reflechissez pas a ma boue, je vais éditer, j'ai mélanger deux trucs la ...
Marsh Posté le 05-08-2005 à 12:04:28
++fab a écrit : Attendez, reflechissez pas a ma boue, je vais éditer, j'ai mélanger deux trucs la ... |
ok
Marsh Posté le 05-08-2005 à 16:27:07
ça y est, en fait je ne m'étais pas trop vautré. Ce code compile avec gcc 3.4.4, et supérieur, mais pas 3.2.3. Entre les deux, j'ai pas essayé. ça dit quoi sous visual ? sous icc ?
Par contre, l'intéret est plutot limité, enfin je vais essayer de lui en trouver un
Code :
|
Marsh Posté le 05-08-2005 à 16:35:57
VS .NET 2003 ne connait pas __typeof__
Edit : en revanche, si je fais ca :
Code :
|
ca fonctionne très bien (d'où ma suggestion d'utiliser un entier)
Marsh Posté le 05-08-2005 à 16:39:30
et si le "underlying type" de l'enum est de type int, et négatif ?
Marsh Posté le 05-08-2005 à 16:40:33
theshockwave a écrit : c'est en C++ managed, __typeof |
C'est une extension ... qui vaut ce qu'elle vaut.
Marsh Posté le 05-08-2005 à 16:43:10
contre toute attente, ceci :
Code :
|
affiche "-300"
Marsh Posté le 05-08-2005 à 16:46:27
++fab a écrit : C'est une extension ... qui vaut ce qu'elle vaut. |
c'est seulement pour .Net, hein ... donc niveau "extension", c'est pas terrible, je parlerais plutôt d'une branche du langage qui se forme
Marsh Posté le 05-08-2005 à 16:46:50
Citation : affiche "-300" |
au feu les pompiers ?
Marsh Posté le 05-08-2005 à 17:01:02
Chez moi ça plante, ça renvoie un grand nombre. Trick réussi donc
ça doit etre un bug si ça marche ...
Marsh Posté le 05-08-2005 à 17:07:54
tu m'a pas dit si ça fonctionnait avec __typeof sous VS (Managed) ?
Marsh Posté le 05-08-2005 à 17:11:45
j'ai pas le temps de faire un proj managed pour ca (je suis au taf, j'ai utilisé mon proj habituel pour tester n'importe quoi pour faire ces tests à, mais sinon, je n'aurais pas pris le temps)
Marsh Posté le 05-08-2005 à 17:12:28
Reply
Marsh Posté le 05-08-2005 à 11:13:01
Bonjour,
petite question : je cherche à "typifier" un enum. Probleme évident, on ne connais pas le type sous-jacent
L'extension typeof ne passe pas comme parametre template constant (du moins sous le gcc périmé que j'ai sous la main), y a t'il une issue propre ? si non, decltype sera-t'il le sauveur ?