BOOST_PP : concatener un caractère spécial - C++ - Programmation
Marsh Posté le 01-12-2009 à 19:45:04
Si le résultat n'est pas un pptoken valide -- comme c'est vraisemblablement le cas -- toutes tes tentatives sont probablement vouées à l'échec (mais bon, sans savoir ce que tu veux faire, on peut toujours se tromper).
Marsh Posté le 01-12-2009 à 20:10:25
Un Programmeur a écrit : Si le résultat n'est pas un pptoken valide -- comme c'est vraisemblablement le cas -- toutes tes tentatives sont probablement vouées à l'échec (mais bon, sans savoir ce que tu veux faire, on peut toujours se tromper). |
A faire une liste de flags. Faire ca en preprocessor :
E_FIRST = 1, E_SECOND = 2, E_THIRD = 4, E_FOURTH = 8
Il est aisé de faire : E_FIRST, E_SECOND, E_THIRD avec BOOST_PP_ENUM( SEQ ), on peut aussi faire des assignations avec BOOST_PP_ENUM_PARAMS mais je voudrais une assignation qui augmente de façon exponentielle... Autant l'exponentielle est faisable, autant je n'ai pas trouvé de solutions avec BOOST_PP_ENUM_PARAMS donc je cherce à faire la mienne...
Je sais pas si c'est clair
Marsh Posté le 01-12-2009 à 20:56:22
Il ne faut rien concaténer,...
Code :
|
Marsh Posté le 01-12-2009 à 21:00:52
Punaise voila une solution simple et claire : /me retourne apprendre à coder je crois
Merci, je découvre la programmation preprocesseur
Marsh Posté le 01-12-2009 à 18:57:01
J'utilise beaucoup BOOST_PP pour faire notamment ma gestion des enums et leurs conversions en chaines de caracteres.
Cependant, je cherche à concatener une séquence de ce genre : a = 3 (pour l'exemple )
A priori je ferai :
Cela ne fonctionne pas, le caractère = est incompris par le preprocesseur (en fait aucun des caractères spéciaux ne passe). À noter que si je remplace le caractère = par un _ celà fonctionne (mais ça ne fait pas du tout ce que je veux !)
Comment fait-on pour faire copier des caractères spéciaux ?
Merci.
---------------
Un blog qu'il est bien