Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Macro et template [ Divers / Général ] (mezaya)

mardi 16 mai 2006 à 14:19:32 | Macro et template

mezaya

Bonjour à tous,

j'ai un problème avec le préprocesseur c et l'utilisation de template.
je n'arrive pas à résoudre le problème suivant :

j'ai une macro :
#define MACRO(type) \
       ...blabla

une template :
template< class T, int n>
class A {  ... };

et puis j'utilise ma macro:
MACRO( A<char,25> )

et la une erreur survient à la compilation disant que la macro accepte 1 argument et pas 2. Ici le parseur de la macro n'arrive pas a faire la différence entre la ',' qui sépare les différent type du template et la ',' qui sépare les arguments de la macro.

la solution qui utilise des parenthèses -->  MACRO( (A<char,25) )  ne marche pas car je crée dans la macro une fonction et les fonctions du type -->  void test( (int) a ) ne compile pas non plus.

la seul solution trouvé pour l'instant consite a faire :
    #define COMMA ,
puis
    MACRO( A<char COMMA 25 > )

ça marche mais ce n'est pas très élégant. Alors, existe il un moyen plus élégant d'écrire la macro ?

pour info je suis sous Visual C++ 2003

Voili,Voilou [;)]

mardi 16 mai 2006 à 17:36:30 | Re : Macro et template

luhtor

Réponse acceptée !
Tu peux passer par un  typedef

typedef A<char, 25> Achar25;

MACRO( Achar25 );






Cette discussion est classé dans : problème, arrive, macro, template, define


Répondre à ce message

Sujets en rapport avec ce message

Problème avec les #define en C sous CodeWarrior [ par SilverSurfeur ] Voila mon problème :j'ai un projet qui contient deux fichiers .c. Dans ces deux fichiers, j'effectue un #include "Display.h". Mon fichier Display.h es Question a 2 balles mais j'y arrive pas!!! [ par HCJarod ] Je ravale ma fierté et je pose ma question au risque de me faire siffler : est ce que quelqu'un sais comment creer une simple fenetre (avec 2 bricolle Problème Héritage & Template [ par Aquarian ] Bonjour,J'ai le code suivant qui compile sous Visual Studio et pas sous Dev-cpp. Est-ce qu'il faut ajouter des options pour ce dernier ou est-ce qu'il Template et singleton: problème d'utilisation [ par neodelphi ] Bonjour ! Je viend de découvrir le modèle des singleton car j'en avait besoin pour mon projet. J'ai donc écrit un template classique de singleton, pui Problème de cast avec template [ par xkamen ] Bonjour,Je voudrais travailler avec des templates. J'ai créé une classe template Matrix; et je voudrais savoir comment réaliser un cast dans mon progr problème sur les fichiers mysql.lib [ par Apache_31 ] Bonjour tout le  mondevoila j'ai un problème au sujet d'une librairie sous MySQL . En fait j'utilise MySQL++ ( version: mysql 4.1 ) sur visual studio VS2005 et Variables Globales [ par letscode ] Bonjour,Bon j'avance bien :)J'ai un problème irrésolvable.J'utilise Visual Studio 2005, et j'ai plusieurs fichiers qui incluent un fichiers "communs.h #define incremental [ par garslouche ] Salut à tous,je cherche à écrire une macro qui utiliserait un parmètre qui augmenterait à chaque utilisation. Par exemple si la macro s'appelle AUTO_I Problème avec TinyXML pour lire du texte entre les balises [ par bikini42 ] Salut à tous, je me permets de vous demander de l'aide car je suis bloqué pour lire des données dans un XML qui est de la forme suivante et j'utilise API Windows - Template dialog [ par banane_rose ] bonjour, voilà j'ai fait une template d'une dialog avec un logiciel (ce n'est qu'un test) #define ABOUTBOX 1000#define IDOK 1001#define IDCANCEL 1002A


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.