Приветствую!
приходится писать множество шаблонных функций вот так:
int __myFunct(int a);
int _myFunct(int a);
int myFunct(int a) { return __myFunct(a); }
(тапками не кидать, это для примера)
хотелось бы, что бы написав как-то так:
W_FUNCT(int, myFunct, int a)
но тут же столкнулся с проблемой:
не определяется _functName хотя с functName всё ок
#define W_FUNCT(retType, functName) \
retType functName() {return 123; } \
retType _functName() {return 456;} \
UPDT1:
разобрался: _##functName
теперь - как можно в define сделать переменное число параметров c пробелом, например:
W_FUNCT( int, myFunct, int a, int b, int c)
что бы макрос преобразовался в
int myFunct(int a, int b, int c);
UPDT2:
со второй проблемой то же разобрался:
#define W_FUNCT(retType, functName, ...) \
retType functName(__VA_ARGS__) {return __##functName(); } \
retType __##functName() { return 456; } \
retType _##functName();
теперь нужно как то все значения параметров functName(__VA_ARGS__) передать в вызов функции __functName()
Как можно сделать?