2016/01/05

[c/c++]__func__などは変数だ

大した話ではない。

文字列を出力する関数があり、そこに関数名を渡したかった。
関数名だけだとわかりづらいので、ちょっと装飾(というほどでもないが)をしたい。
でも、わざわざバッファを用意して、strcpy()などやってやるほどのことでもない。
そう思って、こうできると楽だな、とやってみた。

printf(“**** ” __func__ “ ****\n”);

コンパイルエラーになった。
gccだったので、__FUNCTION__や__PRETTY_FUNCTION__ならいけるかと思ったが、だめだった。

ということで、__func__などは文字列マクロじゃなくて変数なんだな、と思った次第だ。
ほら、大した話じゃなかったでしょう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。