begin process at 2012 05 29 07:58:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Macro et template


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro et template

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ée 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 Problème avec SendInput pour la souris [ par VBGenesis ] BonjourJe possède une vieille tablette graphique dont les drivers ne sont plus maintenus (ils ne fonctionnent qu'avec 98...), donc j'essaye de les ref problème de conversion [ par esp95 ] Bonjour a tous, J'ai un petit soucis sur un programme en c/c++ Je dois créer le programme de compression de huffman je sais il en éxiste des tonnes ma #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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales