Problem with macro in header

Dear rooters,
I have strange problem with ROOT dictionaries. I have class A where I define macro:

CutDef(name,id)\ virtual A *Copy(){return name(*this);}\ ClassDef(name,id)
For class A i create standard dictionary by ClassDef(A), but there is class B with inherit from C and I would like to use this macro. So I replaced ClassDef© by CutDef©. But when I build such code I get syntax errors like “Error: Missing one of ‘)’ expected at or after line …”. I build this stuff with root 5-34-19 and have no problems but with 5-34-26 I get such errors. I would like to check the dictionary but I can’t because is immediately removed.
Edit:
It’s seems to be some limitation (bug?) of ROOT when I put this:

I got the same errors but when I put:

And later add ClassDef I’ve no errors or warnings.

Hi,

CINT does not implement a full pre-processor and has trouble with nested macros. To process this code, you can ask CINT to use an external preprocessor by passing the -p option to rootcint:rootcint -f mydict.cxx -c -p headerfiles.h theLinkDef.h

Cheers,
Philippe.