tags:

views:

27

answers:

1

Hi, we use #define rules like that to define a function (please don't ask me what they're doing exactly and why we are doing it that way.. they tell me it's less work to write, but I can't imagine that..):

// Format
//  CBDefine(<class>,<Type>,<method>)
// Beispiel:
//  CBDefine(CModEV30,CToolBar_beforeRequeryCallback,VorLadenCB)
#define CBDefine(cl,ty,me) CBDef1(cl,ty,me,ty##_Params)
#define CBDef1(cl,ty,me,mep) CBDef2(cl,ty,me,mep)
#define CBDef2(cl,ty,me,mep) CBDef_p##mep(cl,ty,me)
#define CBDef_p0(cl,ty,me) CBDef_f0(cl,me,ty##_Return,)
#define CBDef_p1(cl,ty,me) CBDef_f1(cl,me,ty##_Return,ty##_Type1 ty##_Name1)
#define CBDef_p2(cl,ty,me) CBDef_f2(cl,me,ty##_Return,ty##_Type1 ty##_Name1,ty##_Type2 ty##_Name2)
#define CBDef_p3(cl,ty,me) CBDef_f3(cl,me,ty##_Return,ty##_Type1 ty##_Name1,ty##_Type2 ty##_Name2,ty##_Type3 ty##_Name3)
#define CBDef_f0(cl,me,re) re cl::me()
#define CBDef_f1(cl,me,re,p1) re cl::me(p1)
#define CBDef_f2(cl,me,re,p1,p2) re cl::me(p1,p2)
#define CBDef_f3(cl,me,re,p1,p2,p3) re cl::me(p1,p2,p3)

Unfortunately, doxygen is not able to expand those rules and has weird errors in the documentation. Can anyone help me?

A: 

you should try the flag MACRO_EXPANSION=YES

(the flag is located in your configuration file. )

Alon
I already set MACRO_EXPANSION to YES, didn't help
BeatMe