関数名を得るマクロ __func__ は C99 でスタンダードになったようだが, C++ ではスタンダードなんだろうか ? http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1642.html この記事ではまだのようだが, これ以降の展開が分からない. gcc では C++ でも __func__ が使えるし, なにより, __PRETTY_FUNCTION__ というのも使える. http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html __PRETTY_FUNCTION__ はクラス名とシグナチャまでつけてくれるからこれがベストだけど, gcc 独自だよね. open-std.org の記事の通り, C++ はデバッグ環境の整備が欠けていますね.