Не знаю, как в VC, а в GCC помимо стандартизованных __FILE__ __LINE__ есть ещё предопределённый макрос __FUNCTION__ , имеющий значением строку с именем текущей функции и __PRETTY_FUNCTION__ с "полным красивым" именем. Вроде бы и в других компиляторах это есть, проверь.
#include #define DBPRN() outlog( __PRETTY_FUNCTION__ )
void outlog(const char *s) { std::cout << s << std::endl; }
class S
{
public:
S() { DBPRN(); }
~S() {}
void p(int i) { DBPRN(); }
};
int main()
{
S s;
s.p(5);
return 0;
}
выдача
S::S()
void S::p(int)