Hi again... I really need help!!
After trying more than 40 hours now, I cannot get any solution. Here a
piece of code anyone can try with g++ (here: version 3.4.3)

:( :( :(

*********

#include <iostream>
#include <string>

#define STR2(x) #x
#define STR(x) STR2(x)

#define _C_ ,

#define COMMON(type) \
        template class myClass1< type >;

#define DETAIL(type) \
        COMMON(type)

int main()
{
        std::cout << STR(DETAIL(myClass2<int _C_ double>));
        return 0;
}

*********

The code works perfectly under MSVC. The output is:

template class myClass1<  myClass2<int , double> >;

I cannot get this to work with g++. There is NO way! NO WAY!

Error: macro "COMMON" passed 2 arguments, but takes just 1

Has nobody a comment on that?

_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to