#ifdef ADD #undef ADD #endif template void ADD(A1 add1, A2 add2, R* result) { *result = add1+add2; }