#include
#define join_(type,func) {func=type_func;}
#define _class(type,func) (type_func)
#define _belong_ :##:
#define A_BELONG(A,name,func) \
struct A name;\
join_(A,name.func)
struct A
{
int (*func1)(int a);
};
int A_belong_func()
{
}
int _class(A,func1)(int a)
{
printf("2\n");
return 0;
}
int main()
{
//struct A a;
//join_(A,a.func1);
A_BELONG(A,a,func1)
a.func1(2);
printf("Hello world!");
return 0;
}