Задача состоит в том, что мне нужен макрос, который выводит указатель "this".
#DEFINE thisOutput \
std::stringstream ss; \
ss << static_cast<const void *>(this); \
std::cout << ss.str(); \
Но использование этого макроса в функции, не являющейся членом, приводит к ошибке компиляции
error : недопустимое использование 'this' в функции, не являющейся членом
Как изменить этот макрос, чтобы определить, является ли функция членом или функцией, не являющейся членом, и выполнять свою работу или нет?
Добавление: шаблонная специализация также может быть решением.