Lars Holm <lars.holm@xxxxxxxxxxxxx>: > #define FOO(a,b) a##::Foo(#b) > The compiler complains with: > foo.cxx:35:41: pasting "txBoolean" and "::" does not give a valid preprocessing token You don't need the "##". "##" is only useful when you want to make a single word out of two separate words, such as tx ## Boolean --